Python项目部署Ubuntu:uwsgi——安装及问题解决及配置文件
uwsgi安装及问题解决
不管在系统环境还是docker内,系统会有自带的uwsgi,显然不能用系统的uwsgi,因为默认python解释器永远是python2.7
部署python项目,安装uwsgi一定要用pip安装,而不是apt-get安装。
正常安装
pip3 install uwsgi
遇到无法安装uwsgi的情况
问题为gcc版本不对,降低gcc版本为4.8,再次安装即可。
cd /usr/bin
apt-get update
apt-get upgrade
apt-get install uwsgi-plugin-python3
apt-get install gcc-4.8
rm gcc
ln -sf gcc-4.8 gcc
whereis uwsgi
结果:
# uwsgi: /usr/bin/uwsgi /usr/lib/uwsgi
pip3 install uwsgi
安装后结果:
# uwsgi: /usr/bin/uwsgi /usr/lib/uwsgi /opt/conda/bin/uwsgi
cd /usr/src/lindealg/linde_ai_gater_alg/
uwsgi -x linde.xml
uwsgi配置文件
<uwsgi>
<chdir>/usr/src/alg/</chdir> # cd到项目文件夹
<plugins>python</plugins>
<wsgi-file>app.py</wsgi-file> # flask app文件
<callable>app</callable>
<socket>0.0.0.0:5004</socket> # docker 部署,所以 0.0.0.0 注意:!!!socket 和 http 参数不能同时配置,二选一
<buffer-size>65536</buffer-size>
<master/>
<workers>3</workers>
<threads>1</threads>
<lazy-apps>true</lazy-apps> # 算法配置:CUDA重新加载报错,加上即可。
<memory-report/>
</uwsgi>
<uwsgi>
<chdir>/usr/src/alg/gater_alg/</chdir>
<wsgi-file>app.py</wsgi-file>
<callable>app</callable>
<socket>0.0.0.0:5004</socket>
<buffer-size>65536</buffer-size>
<master/>
<workers>3</workers>
<threads>1</threads>
<lazy-apps>true</lazy-apps>
<daemonize>uwsgi.log</daemonize>
<memory-report/>
</uwsgi>
uwsgi操作
停止uwsgi
pkill -f uwsgi -9
查看uwsgi进程
ps aux|grep uwsgi