阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx+uWSGI 入门教程

107次阅读
没有评论

共计 1971 个字符,预计需要花费 5 分钟才能阅读完成。

目录

Nginx+uWSGI 入门
开始
出错试验
小结
参考

开始
确保一下软件包安装被安装上:

apt-get install uwsgi-plugin-Python nginx 简要介绍一下:

nginx 是一个 http 服务器,与 apache、lighttpd、Microsoft IIS 等属于同类产品;
uwsgi 是与 http 服务器与 python 应用程序之间进行数据交换的程序;
出错试验
从一个 uwsgi 出错试验开始:

创建 hello.py
def application(env, start_response):
    start_response(‘200 OK’, [(‘Content-Type’,’text/html’)])
    return [“Hello World”]开启一个 uwsgi 守护进程
/usr/bin/uwsgi_python -s 127.0.0.1:9090 –file hello.py –daemonize uwsgi.log 现在,打开网络浏览器,例如 firefox,在地址栏中输入”http://127.0.0.1:8000“并回车,这时网页中会显示“The connection was reset”……@#¥%……不要怪罪 G.F.W,这不是它的错!当你不断刷新浏览器,日志文件 uwsgi.log 中应当可以看到类似下面的信息

出错信息
invalid request block size: 21573 (max 4096)…skip
Thu Feb 20 03:29:28 2014 – error parsing request
invalid request block size: 21573 (max 4096)…skip
Thu Feb 20 03:29:28 2014 – error parsing request
invalid request block size: 21573 (max 4096)…skip
Thu Feb 20 03:29:29 2014 – error parsing request
… 这表示,你在浏览器中提交的 http 请求被 uwsgi 给忽视了。如果你不断的刷新那个页面,终端中会不断涌出该信息。虽然我们得到的是被重置的页面,但是这足以证明 uwsgi 是一个 http 服务器。继续在 /etc/nginx/sites-available/default 中添加如下配置:

nginx-cgi 配置

location /cgi {
            include uwsgi_params; 
            uwsgi_pass 127.0.0.1:9090; 
        }重启服务
/etc/init.d/nginx restart

重启 nginx 服务后,使用浏览器打开:127.0.0.1/cgi 终于如愿出现久违的 Hello World , 而不在是“The connection was reset…”

小结
uwsgi 实际上也是一个 http 服务器,只不过它只面向 python 网络应用程序。虽然 uwsgi 也是 http 服务器,但是却不能直接使用它部署 python web 应用程序,否则会出错。

在本文中,uwsgi 所扮演的的角色是后端 http 服务器,nginx 扮演的角色是前端 http 服务器,hello.py 是客户端应用程序。用户从网页浏览器中发出请求,nginx 服务器收到请求后,会通过它的 uwsgi 模块将用户的请求转发给 uwsgi 服务器,uwsgi 服务器处理完毕后将结果返回给 nginx,浏览器将最终的结果展现给用户。

Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里

推荐阅读

Ubuntu 12.04 下部署 Nginx+uWSGI+Flask http://www.linuxidc.com/Linux/2014-01/96007.htm

你应该使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm

uWSGI + Nginx 部署 Flask Web 应用 http://www.linuxidc.com/Linux/2013-06/85828.htm

Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm

Linux 下 Nginx+uWSGI 部署 Python 应用 http://www.linuxidc.com/Linux/2012-10/72443.htm

Ubuntu Server 12.04 安装 Nginx+uWSGI+Django 环境 http://www.linuxidc.com/Linux/2012-05/60639.htm

CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署 Django 项目 http://www.linuxidc.com/Linux/2011-05/36399.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计1971字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中