0x01 Introduction
uWSGI是一款Web服务器,它实现了WSGI协议、uwsgi、http等协议。 Nginx中的HttpUwsgiModule的作用是与uWSGI服务器进行交换。网上介绍速度比fcgi快十倍。特点如下:
- 超快的性能
- 低内存占用
- 多app管理
- 详尽的日志功能
- 高度可定制性
uWSGI可以通过pip安装
0x02 uwsgi配置
创建配置文件,例如config.in1
2
3
4
5
6
7
8[uwsgi]
socket = 127.0.0.1:8001
chdir = /home/www/ #指向网站目录
wsgi-file = manage.py #python启动的程序文件
callable = app #python程序内的application变量名
process = 4
threads = 20
stats = 127.0.0.1:9191
这里我们通过supervisor控制uwsgi的启动。supervisor配置文件(位于:/etc/supervisor/conf.d/)*.conf:1
2
3
4
5
6
7
8
9
10
11
12[program:app]
command=/home/pythonenv/bin/uwsgi /home/www/config.ini
#命令所在目录
directory=/home/www
user=root
autostart=true
autorestart=true
stdout_logfile=/home/www/supervisor_uwsgi.log
[supervisord] #添加supervisor服务模块
接下来配置ngin1
2
3
4
5
6
7
8
9
10
11server{
listen 80;
server_name xxx.xxx.xxx.xxx; #公网地址
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001 #本地uwsgi服务端口
uwsgi_param UWSGI_PYTHON /home/www/pythonenv;
uwsgi_param UWSGI_CHDIR /home/www;
uwsgi_param UWSGI_SCRIPT manager:app; #指定启动程序
}
}