gunicorn+Flask部署restful接口

学习使用Flask开发api,需要部署到Linux服务器,查了一下可以使用gunicorn和uWSGI两种wsgi,网上说gunicorn配置比较简单,就选它了。

1、安装gunicorn
pip install gunicorn
安装完成后测试一下:
gunicorn -w 4 -b 0.0.0.0:7777 flask_test:app
-w 4 表示4个work(进程)
-b 表示flask绑定的地址和端口
flask_test:app 前者代表py程序文件名, 后者为实例化名即程序中的 app = Flask(name)
程序如下:

from flask import Flask, jsonify
from flask import render_template_string
import os
from werkzeug.contrib.fixers import ProxyFix
app = Flask(__name__)
@app.route('/')
def index():
    return "Hello!"
@app.route('/tt/<int:iid>')
def tt(iid):
    return jsonify({'records':iid})
app.wsgi_app = ProxyFix(app.wsgi_app)
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=7777, debug=True)

用curl命令测试一下:
curl -i http://127.0.0.1:7777
发现有返回,成功
这里从别的IP测试了一下,发现报无法连接错误,猜测是防火墙原因,果然关闭后正常了,这里我们把使用的端口加入规则表里:

service iptables stop
vi /etc/sysconfig/iptables 
#添加端口白名单
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7777 -j ACCEPT 
service iptables start

2、pip安装相关python依赖包
程序中使用的Flask、mysql等需要在服务器上安装,可以从开发环境直接使用
pip freeze >requirements.txt
把所有的依赖包放入,然后到服务器上统一下载,如果服务器不能联网,则需要把依赖包上传到服务器进行离线安装(吐槽一下,这一点实在不如java方便)。

3、安装nginx

猜你喜欢

转载自blog.csdn.net/wbw0wbw/article/details/89517922