简介

WSGI 的全称Web 服务器网关接口,如果读者不太理解的话,可以参考一下我之前写过的一篇文章:wsgi 简单介绍 进行了解。而本文将介绍的 uWSGI 是一款用来在服务器上部署 WSGI应用 的工具。这里需要澄清一下的是有几个概念很容易混淆,它们分别是 wsgiuwsgiuWSGI。这里对他们进行一个诠释:

安装

uWSGI 的安装很方便,直接使用 pip 安装即可。

pip install uwsgi


配置应用

要想让 WSGI应用 使用 uWSGI 运行起来,那么需要一个单独的启动脚本,一般都命名为:wsgi.py,里面必须要有一个叫做 application 的成员,然后必须是一个WSGI对象(见文章wsgi 简单介绍)。例如,一个简单的例子就是:

//wsgi.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]


启动应用

编写好启动脚本之后,直接使用这条命令即可启动 uWSGI

uwsgi --http :9090 --wsgi-file wsgi.py


然后会看到一系列输出:

... ...
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0xcf7480 pid: 47381 (default app)
*** uWSGI is running in multiple interpreter mode ***


然后你就可以访问一下本地的 9090 端口了,这时你应该会看到的是 :

Hello World


结合 Nginx

uwsgi协议原生得被 nginx 支持,所以在 nginx 上使用 uwsgi 的配置非常简单,例如,最简单的配置就这样:

location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9090;
}


然后你重启一下你的 nginx,会发现这样就生效了!!!