最近需要提供服务给后台,决定采用flask加载模型提供服务,网上查到的资料大多都是nginx+uwsgi+flask的方式,个人需求demo级别的,因此只用了uwsgi+flask。
一、安装
pip install uwsgi (好像只能在Linux上安装)
pip install flask、
二、新建一个最简单的应用
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
if __name__ == '__main__':
app.run()
三、配置uwsgi
在应用目录下新建一个文件uwsgi.ini,这里名字你可以随便取,后缀支持ini,xml,json三种格式。
配置内容如下:
[uwsgi]
http=0.0.0.0:8080
wsgi-file=/root/project/application/demo.py
callable=app
touch-reload=/root/project/application/
pidfile = /root/project/application/uwsgi.pid #指定pid文件
1、http=0.0.0.0:8080,表示任意ip,端口号为8080
2、wsgi-file=/root/project/application/demo.py,应用程序位置
3、callable=app,实例名称
4、touch-reload=/root/project/application/,表示要监听的文件路径,当要监听的文件路径下的文件发生变化的时候自动重新加载服务器
5、pidfile = /root/project/application/uwsgi.pid 指定pid文件,用于启动、重启、关闭服务
四、运行
uwsgi uwsgi.ini 就可以运行
也可以:uwsgi --ini uwsigi.ini
重启: uwsgi --reload uwsigi.pid
关闭:uwsgi --stop uwsigi.pid
五、注意
当服务器上同时存在python2和python3时:会出现找不到uwsgi的情况:
解决方法:
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi 实际情况根据自己安装的位置设置
六、参考文献
1、https://www.jianshu.com/p/1a65964c5b51
2、https://www.jianshu.com/p/830c4fd94605