使用 uWSGI 部署 Flask web 应用
1、安装 uwsgi
开启 python 虚拟环境(假设虚拟环境目录叫 venv),安装 uwsgi
source venv/bin/activate
pip install uwsgi
若出现错误: plugins/python/uwsgi_python.h:2:20: 致命错误:Python.h:没有那个文件或目 原因是:系统缺少 python-dev 安装 python-dev: sudo yum install gcc python-devel 然后再安装 uwsgi: pip install uwsgi
2、配置 uwsgi
在工程目录,创建文件 uwsgi.ini
目录结构类似:.../my_project/uwsgi.ini
配置 uwsgi.ini 示例
[uwsgi] http = 0.0.0.0:5007 # http 协议对客户端开发的端口号,客户端通过此端口访问 flask web 服务接口 pythonpath = .../my_project/my_app # 应用目录,即python代码所在目录 wsgi-file = .../my_project/my_app/run_app.py # web 应用python主程序 callable = app # 一般在主运行程序 run_app.py 里指定 app = Flask(__name__) processes = 1 threads = 10 demonize = .../my_project/log/serve.log # 指定日志文件;如果使用 supervisors 需要注释掉,否则,supervisors 不能自动拉起 uwsgi 程序 home = .../my_project/venv # python 虚拟环境目录
3、启动 uwsgi
uwsgi uwsgi.ini
4、停止 uwsgi
pkill -f -9 uwsgi