欢迎光临 www.huangdc.com

nginx + python + uWSGI 环境搭建

Python huangdc 3434℃ 0评论

在了解 uWSGI 之前,我们不妨先了解一下

python http服务器?

要使 Python 写的程序能在 Web 上被访问,还需要搭建一个支持 Python 的 HTTP 服务器,列举几个如 Gunicorn 、uWSGI 、FAPWS3、Aspen、Mod_WSGI等等

WSGI是什么?

WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。

WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。

WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。

很多框架都自带了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。当然性能都不好,自带的 web server 更多的是测试用途,发布时则使用生产环境的 WSGI server或者是联合 nginx 做 uwsgi 。

好了,接下来看看

什么是uWSGI ?

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。

a、WSGI看过前面小节的同学很清楚了,是一种通信协议。

b、uwsgi同WSGI一样是一种通信协议。

c、而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。

为什么有了uWSGI为什么还需要nginx?

因为nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应

部署配置

1、python + django + bootstrap (略)

可查看:http://www.huangdc.com/21

2、下载并安装 uWSGI

3、nginx 配置

这里的项目路径是 /data/myproject/

在nginx目录中添加一个uwsgi配置文件:

在项目目录下增加django_wsgi.py 目录

4、增加一个 uwsgi 启动文件

## vim /etc/init.d/uwsgi

## 记得加执行权限 chmod +x /etc/init.d/uwsgi

启动

 

转载请注明:Huangdc » nginx + python + uWSGI 环境搭建

喜欢 (12)or分享 (0)
发表我的评论
取消评论
表情
(1)个小伙伴在吐槽