centos使用uwsgi部署flask
1 安装uwsgi和flask
1
2
3
|
yum -y install python-devel
pip install uwsgi
pip install flask
|
2 上传web文件夹
上传web文件夹至目标网站目录/home/wwwroot/web
3 编写配置文件uwsgi.ini
在web下建立文件uwsgi.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[uwsgi]
# app.py文件所在目录
chdir = /home/wwwroot/web/pyweb
callable = app
# flask文件名
wsgi-file= app.py
# 进程数
processes = 4
threads = 2
max-requests = 100
vacuum = true
post-buffering=4096
socket = 127.0.0.1:5000
stats = 127.0.0.1:9010
# 日志输出目录
daemonize = /home/wwwroot/web/pyweb/pyweb.log
pidfile = /home/wwwroot/web/pyweb/pyweb.pid
|
运行uwsgi
4 安装nginx并编写配置文件
安装nginx
配置nginx
1
|
vim /etc/bin/nginx/nginx.conf
|
在默认server下添加转发规则,并修改该server的监听端口为8880,以避免与apache端口冲突
1
2
3
4
5
6
7
8
9
10
11
12
|
server {
listen 8880;
location /pyweb/static {
alias /home/wwwroot/web/pyweb/static;
}
location /pyweb {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
uwsgi_param UWSGI_CHDIR /home/wwwroot/web/pyweb;
uwsgi_param UWSGI_SCRIPT pyweb:app;
}
}
|
5 编写apache配置文件
apache充当反向代理角色,将所有请求转发给nginx处理,并返回结果,此处8880为nginx的监听端口
1
2
|
ProxyPass /pyweb http://localhost:8880/pyweb
ProxyPassReverse /pyweb http://localhost:8880/pyweb
|