1 安装gunicorn:
pip install gunicorn
2 创建下列名为web.py的文件:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello world'
if __name__ == '__main__':
from werkzeug.contrib.fixers import ProxyFix
app.wsgi_app = ProxyFix(app.wsgi_app)
app.run()
3 使用命令启动gunicorn
gunicorn web:app web为文件名
出现以下结果
4 使用gunicorn启动多进程服务:
gunicorn -w 4 -b 127.0.0.1:8000 web:app
可发现使用了4个进程
5 在后端运行上面的程序:nohup gunicorn -w 4 -b 127.0.0.1:8000 web:app &
6 安装nginx: pip install nginx
7 编写nginx配置文件:
sudo vi /etc/nginx/conf.d/default.conf
写入以下内容:
server {
listen 9000; #你想服务器的端口
server_name 192.168.24.231; #例如 198.198.22.22
location / {
proxy_pass http://127.0.0.1:8000; #这个是Gunicorn与Ningx通信的端口。和Gunicorn的配置相同
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
access_log /log/flaskweb/access.log;
error_log /log/flaskweb/error.log;
}
}
注意:listen是实际服务端口,为9000, proxy_pass http://127.0.0.1:8000中的ip必须和gunicorn命令行中的ip完全一样,才能保证服务正常运行
8 管理nginx服务:
sudo service nginx start
sudo service nginx stop
sudo service nginx restart