主线流程

本次部署所使用的应用。

服务器:Nginx,uWSGI。

Web框架:Flask

安装步骤:

  • apt-get install nginx-full
  • pip install uwsgi
  • pip install flask

1,修改/etc/nginx/sites-enabled/default 文件

2,编写uwsgi.xml文件

1
2
3
4
5
6
7
8
9
10
<uwsgi>
<pythonpath>/home/star</pythonpath>
<module>starweb</module>
<callable>app</callable>
<socket>127.0.0.1:8000</socket>
<master/>
<processes>5</processes>
<memory-report/>
<enable-threads/>
</uwsgi>

3,编写app.py

1
2
3
4
5
6
7
8
9
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "Hello World!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000)

4,执行命令

uwsgi -x uwsgi.xml -d /tmp/uwsgi.log

/etc/init.d/nginx restart

至此nginx的80端口就会监听到flask应用。

5,流程总结

uwsgi启动目标app,监听app默认输出地端口,同时nginx也监听此端口,并且重定向到80端口,至此,浏览器可以访问80端口查看页面内容。

细节

需要配置才能启动flask应用中的线程,否则uwsgi不启动代码中的线程。