共计 2363 个字符,预计需要花费 6 分钟才能阅读完成。
nginx 中 uwsgi 的使用和 php-fpm 的使用很相似。
1、安装配置 nginx 和 Pyhton 运行环境
Nginx 的安装与配置:http://www.linuxidc.com/Linux/2017-03/141796.htm
Python 的安装与升级:http://www.linuxidc.com/Linux/2017-03/141795.htm
2、编译 uWSGI
uWSGI 下载地址:http://projects.unbit.it/downloads/
tar xzvf uwsgi-1.2.tar.gz
cd uwsgi-1.2
make -j 8
#或者使用 python 编译
python uwsgiconfig.py --build
#复制生成的可执行文件 uwsgi 到 /usr/sbin/ 目录下
cp uwsgi /usr/sbin/
3、测试 uwsgi 是否可用
测试脚本 test.py
#!/usr/bin/python
def application(env,start_response):
start_response('200 OK',[('Content_Type','text/html')])
return "Congraduation!!! uWSGI Testing OK!!!
# 启动 web server
uwsgi --http :9090 --wsgi-file test.py
浏览器输入 IP: 端口:192.168.1.99:9090
可以看到”Congraduation!!! uWSGI Testing OK!!!”
4、nginx 中配置 uWSGI
我的 nginx 的每个 Web 应用的配置文件在 nginx 安装目录下面的 sites-enabled 下面
配置文件如下:
server
{
listen 80;
server_name 192.168.1.10;
root /usr/local/sylar/extension;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {root html;}
}
# 配置好了记得重启 nginx
/usr/local/nginx/sbin/nginx -t
killall /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
4、Web 应用的 uWSGI 配置 xml 文件
在上面的设定的 Web 根目录 /usr/local/sylar/extension 下面创建 extension.xml(extension 是应用的名称)
输入一下内容:
<uwsgi>
<socket>:9090</socket>
<chdir>/usr/local/wochacha/extension</chdir>
<wsgi-file>test.py</wsgi-file>
<module>extension</module>
<processes>4</processes>
</uwsgi>
5、建立测试应用
把上面的第 3 步骤的 test.py 复制到 Web 应用的根目录 /usr/local/wochacha/extension 下面
6、启动 uwsgi 服务进程
uwsgi -x /usr/local/wochacha/extension/extension.xml
7、访问 Python 应用
浏览器里面输入 IP 或者 ServerName,除非上面设置 listen 端口不是 http 默认的 80 端口
上面的 9090 端口不能出现在 URL 里面,因为他是 uwsgi 的服务端口。注意这里的
否则你不能访问 Web 应用数据,且 uwsgi 进程提示”invalid request block size: 21573 (max 4096)…skip”
更多参考
Nginx+uWSGI+Supervisor 在 Ubuntu 上部署 Flask 应用 http://www.linuxidc.com/Linux/2016-07/133064.htm
uWSGI+Django+Nginx 的工作原理流程与部署过程 http://www.linuxidc.com/Linux/2017-03/141785.htm
快速部署 Python 应用:Nginx+uWSGI 配置详解 http://www.linuxidc.com/Linux/2016-12/137830.htm
Nginx+uWSGI+Django+Python 应用架构部署 http://www.linuxidc.com/Linux/2015-10/124183.htm
Ubuntu Server 14.04.2 LTS 配置 Nginx + Uwsgi + Django http://www.linuxidc.com/Linux/2015-04/116397.htm
Flask+uWSGI+Nginx+Ubuntu 部署教程 http://www.linuxidc.com/Linux/2016-06/132690.htm
Ubuntu 16.04 下安装部署 Nginx+uWSGI+Django1.9.7 http://www.linuxidc.com/Linux/2016-07/133484.htm
Nginx+uWSGI+Django 在 Ubuntu 下的部署 http://www.linuxidc.com/Linux/2016-07/133490.htm
Linux 上利用 Nginx 代理 uWSGI 处理 Flask Web 应用 http://www.linuxidc.com/Linux/2016-08/134164.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141797.htm