要谈uwsgi,当然要先谈谈wsgi,wsgi是理论家牛顿,uwsgi就是工程家特斯拉。

wsgi是缩写,全称为web server gateway interface,中文意思就是服务器的网关接口。它是一种通用的接口标准,使python 应用程序和服务器之间可以开始交互了,我更乐意把接口想成翻译官。

uwsgi我们可以看成是一个软件,应用程序。它帮助我们把wsgi协议给实现了,同时也实现了http协议,这样我们可以不再关注底层网络通信的实现,而把精力用在业务逻辑上面。

nginx和apache等都是常见的静态服务器,主要用于处理静态请求,而对于动态生成的html,则可以利用其它应用程序 实现,我这里是用的是python的框架django。而django与nginx服务器之间想要很好的通信的话,就必然需要使用wsgi协议了,我们可以在django框架里面按照wsgi协议的标准写出接口和nginx通信,这是可以的,其实django内置了一个实现了wsgi接口的应用,但性能极差。无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。有句话说的好:do not repeat youself,不要重复造轮子。已经有写好的非常不错的实现,那就是uwsgi,它也是一个服务器,可以说就是中间人的角色,左接nginx,右连django。

uwsgi又是怎样实现这种连接的呢?

  首先要讲的是,uwsgi的并发能力很强,但是它处理静态文件能力很不理想。所以一般静态文件就交由nginx处理。uwsgi与nginx之间是通过套接字socket就行通信的,他们之间的交互可以理解为是两个进程之间的交互,而它通过实现wsgi协议,可以与python写的应用程序进行交互,这里也就是django框架。

转载于:https://www.cnblogs.com/gj827/p/9776284.html

uwsgi和nginx的故事相关推荐

  1. 如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序

    @(tigerfive)[tigerfive][linux学习笔记][uwsgi][django][nginx] 前言 先决条件和目标 安装和配置VirtualEnv和VirtualEnvWrappe ...

  2. uwsgi模式_nginx+uwsgi 和nginx+gunicorn区别、如何部署

    [线上环境部署Django,nginx+uwsgi 和nginx+gunicorn,这两种方案,应该如何选择?] 大家是采用的何种部署方式? 第一种,高并发稳定一点 我们公司使用的是nginx+gun ...

  3. uWSGI 和 nginx 的区别?

    uWSGI 和 nginx 的区别? (1 )uWSGI 是一个 Web 服务器,它实现了 WSGI 协议.uwsgi.http 等协议.Nginx 中HttpUwsgiModule 的作用是与 uW ...

  4. aws v2.2.exe_如何使用Python 3.6在AWS EC2上创建运行uWSGI,NGINX和PostgreSQLDjango服务器...

    aws v2.2.exe by Sumeet Kumar 通过Sumeet Kumar 如何使用Python 3.6在AWS EC2上创建运行uWSGI,NGINX和PostgreSQLDjango服 ...

  5. uwsgi搭配nginx

    uwsgi搭配nginx可以做域名解析和负载均衡uWSGI,既不用wsgi协议也不用fcgi协议,而是自创了一个uwsgi的协议,据说该协议大约是fcgi协议的10倍那么快. uWSGI的主要特点如下 ...

  6. centos7.3部署django用uwsgi和nginx[亲测可用]

    centos7.3部署django用uwsgi和nginx[亲测可用] 现在nginx nginx version: nginx/1.10.2 uwsgi 2.0.17 django2.0.5 都已经 ...

  7. Serve Django Applications with uWSGI and Nginx

    @(tigerfive)[django][uwsgi][nginx][centos7] How To Serve Django Applications with uWSGI and Nginx on ...

  8. python服务器搭建nginx_python服务器环境搭建Flask,uwsgi和nginx

    python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置 [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了.为 ...

  9. pypy+uwsgi+dango+nginx 简单部署

    关于pypy+uwsgi+dango+nginx的部署,与python+uwsgi 等的部署基本相同 差别主要是在pypy和python.以及uwsgi 的插件问题 关于pypy 这里不做介绍 1,安 ...

最新文章

  1. 最新 macOS Sierra 10.12.3 安装CocoaPods及使用详解
  2. Dockerfile命令
  3. Tomcat的安装配置与JavaWeb入门教程
  4. 问题 B: PK吹泡泡(Kruscal)
  5. java windows 取所有任务_Win下,通过Jstack截取Java进程中的堆栈信息
  6. Android Service+Socket 联网交互
  7. 常见的INI(PHP)配置
  8. owncloud搭建过程
  9. 小程序菜鸟的父子组件传值、父子组件方法调用的学习
  10. KGB知识图谱通过数据可视化提升金融行业分析能力
  11. SDUT—Python程序设计实验三(流程控制)
  12. 投票丨鹿晗关晓彤曝光恋情 是如何搞垮新浪服务器的
  13. 9.3. debug ip igrp
  14. 奔梦向前-代码实现表白男生女生-2020-06-15
  15. 小米oj 找到第 N 个数字 II
  16. QT程序图标不能显示解决
  17. 网页端实现大尺寸图片的查看、放大缩小、标记标尺等功能
  18. Go Http 解析 text/plain
  19. python中namedtuple的用法
  20. 如何构建自我的认知系统

热门文章

  1. Clumsy网络模拟工具
  2. 解决挖矿病毒(定时任务、计划任务、系统定时器、定时启动、crontab、入侵)
  3. Nessus Plugins Download Fail
  4. tmux常用命令(分屏工具)
  5. ActiveMQ、RabbitMQ、RocketMQ、Kafka的介绍及优缺点说明
  6. Linux系统编程:pipe匿名管道的使用,实现linux命令下管道命令
  7. chrome浏览器开发者工具F12中某网站的sources下的源码如何批量保存?
  8. (转)Elasticsearch NoNodeAvailableException None of the configured nodes are available
  9. 09_ServletContext介绍
  10. VC6.0 导入资源崩溃