uwsgi和nginx的故事
要谈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框架。
uwsgi和nginx的故事的更多相关文章
- Setting up Django and your web server with uWSGI and nginx
https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html Setting up Django and your we ...
- [r]Setting up Django and your web server with uWSGI and nginx
Setting up Django and your web server with uWSGI and nginx This tutorial is aimed at the Django user ...
- Django with uWSGI and nginx
Reference:http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html Setting up Dja ...
- centos6.5配置uwsgi与nginx支持django
一.centos中升级python 1. > wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz # https://ww ...
- 阿里云服务器部署笔记一(python3、Flask、uWSGI、Nginx)
一.重置密码,并重启服务器 二.安全组配置>配置规则>添加安全组规则(为了能在本地ssh到实例) 配置如下: 此配置为允许任意公网IP登陆实例,注意windows与Linux系统端口范围不 ...
- python3环境搭建(uWSGI+django+nginx+python+MySQL)
1.系统环境,必要知识 #cat /etc/redhat-release CentOS Linux release (Core) #uname -r -.el7.x86_64 暂时关闭防护墙,关闭se ...
- uWSGI+Django+nginx(下)
在上篇文章 说的uWSGI和Django都已没问题的情况下 找到 nginx的配置文件 我的是:/etc/nginx/nginx.conf 修改这个文件 在http{}里加入 下面的 server { ...
- uwsgi加nginx部署django restframework前后端分离项目
一.uwsgi和nginx简介 1.uwsgi(摘抄于百度百科): uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与 ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
随机推荐
- 05Hadoop-左外连接
场景:有两张表,一张用户表(user),交易表(transactions).两张表的字段如下: 两份表数据做个左连接,查询出(商品名,地址)这种格式. 这样就是相当于交易表是左表,不管怎么样数据都要保 ...
- java把一个list分割成多个list存入map中(实例)
这都是最近我写工具遇到的一些点, 这些点就是指我在网上没搜到答案,然后实际上我为此花费了时间的 public static void main(String[] args) { List<Str ...
- VMware vCenter Server 6.5配置群集功能
虚拟数据中心是一种容器,其中包含用于操作虚拟机的完整功能环境所需要的全部清单对象.可以创建多个数据中心,以实际需求创建 . 群集是一组主机,将主机添加到群集时,主机的资源将成为群集资源的一部分,群集管 ...
- MySQL 5.7.14安装说明,解决服务无法启动
http://jingyan.baidu.com/article/f54ae2fc0affca1e92b84999.html http://www.myexception.cn/mysql/51431 ...
- SpringBoot------连接MySQL报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized
报错提示: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zon ...
- Windows补丁更新Tips
1.Windows 2012 R2 MS14-066补丁安装失败 现象:下载对应版本的补丁,提示“此更新不适用于你的计算机” 解决:使用命令行可成功安装 @echo off expand –F:* d ...
- .NET开发人员遇到Maven
由.NET转向Java开发,总是会带着.NET平台的一些概念和工具想着在对应的Java平台是否也有着相同的解决方案.第一次用Maven随手打开pom.xml,看着里面许多属性描述我的感觉就是这是一个M ...
- jenkins git 之 Advanced clone behaviours
jenins 上的 Git Plugin插件,默认是下载完整的历史版本,随着分支约多,历史版本约多,整个文件会很大,下载常常会超时. 单独的git命令可以使用以下方式来优化 git clone --d ...
- hdu 1241(DFS/BFS)
Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- SSH免密码登录配置
ssh免密码登录Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 的解决方案 1.在hadoop目录 新建.ssh目录 使用:ssh ...