nginx安装:
apt-get install nginx
uwsgi安装:
pip install uwsgi
sudo apt-get install uwsgi-plugin-python #解决python与uwsgi兼容问题,配合uwsgi中 plugins = python使用
nginx配置:
打开nginx配置文件:
vim /etc/nginx/nginx.conf
可查找到:include /etc/nginx/sites-available/default; 告诉我们可以到该路径下去配置
vim /etc/nginx/sites-available/default
添加代码如下:
server {
# 监听80端口, 浏览器http请求默认端口为80
listen 80;
# 监听本机所有ip, 可指定本机ip如:192.168.1.110
server_name 0.0.0.0;
location / {
# 指定通信对象为uwsgi,即数据向uwsgi转发
include uwsgi_params;
# 指定uwsgi 的ip:port 的接收地址
uwsgi_pass 127.0.0.1:5001;
# 指定python项目的运行环境
# 也可通过uwsgi中的virtualenv指定项目环境
# 默认为系统python主环境
# 此处指定为自建虚拟环境venv
uwsgi_param UWSGI_PYHOME /home/reidlv/venv;
# 指定flask类型的项目根目录
uwsgi_param UWSGI_CHDIR /home/reidlv/flaskspace/test-web;
# 指定flask项目的启动文件
# manage: /home/reidlv/flaskspace/test-web/manage.py
# manage.py 中包含app变量 (app = Flask(__name__))
uwsgi_param UWSGI_SCRIPT manage:app;
}
}
至此nginx配置完成。
uwsgi配置:
cd /home/reidlv/flaskspace/test-web
mkdir WSGI
touch WSGI/uwsgi.ini
vim uwsgi.ini
添加代码如下:
[uwsgi]
# 配合sudo apt-get install uwsgi-plugin-python, 该配置不添加,偶尔会报错
plugins = python
# 接收通讯地址, 与nginx配置中的 uwsgi_pass 127.0.0.1:5001; 对应
socket = 127.0.0.1:5001
# 项目主目录
chdir = /home/reidlv/flaskspace/test-web
# 项目启动文件
wsgi-file = manage.py
# 主应用名
callable = app
# 开启进程数
processes = 4
# 开启线程数
threads = 2
# 日志处理
stats = 127.0.0.1:9191
启动服务:
sudo service nginx start
uwsgi /home/reidlv/flaskspace/test-web/WSGI/uwsgi.ini
若命令正常启动,恭喜配置成功。浏览器请求test-web所在主机ip即可成功访问。
若报错,请查看端口是否被占用,以及以上参数是否配置正确。
若有错误,还请各位多多告知,以免贻害广大同胞。