简介
WSGI(Web Server Gateway Interface),定义了web服务器(nginx、apache、iis等)和 web应用(或者将web框架,flask、django等)之间的接口规范。也就是说,只要 web服务器和 web应用都遵守WSGI协议,那么 web服务器和 web应用就可以随意的组合。
环境安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| pip install uwsgi
# 全局访问
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
# mac下安装uwsgi
pip install uwsgi
如果起到后flask报错
ImportError: dlopen,使用conda安装
conda install -c conda-forge uwsgi
# linux(ubuntu)下python3安装uwsgi
pip install uwsgi
如果报错
apt-get install python3-dev
apt-get install gcc-4.7
rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
pip install uwsgi
直接启动uwsgi,如果报错
find / -name libpcre.so.1
vim /etc/profile
export LD_LIBRARY_PATH="/opt/anaconda3/lib/"
|
配置文件
在项目根目录新建文件app.ini
1
2
3
4
5
6
7
8
9
10
11
| [uwsgi]
socket=127.0.0.1:8700
mount=/app=api.py
manage-script-name=true
master=true
processes=4
threads=2
stats=127.0.0.1:9191
callable=app
daemonize = /var/log/uwsgi.log
disable-logging = true
|
nginx配置
1
2
3
4
5
6
| location /app {
include uwsgi_params;
uwsgi_param SCRIPT_NAME /app;
uwsgi_pass 127.0.0.1:8700;
#proxy_pass http://127.0.0.1:8700;
}
|
参考文档
- http://www.bjhee.com/nginx-uwsgi.html
- https://blog.csdn.net/wzm112/article/details/7948046