提供接口的几种常用方式(三,Flask)
Python下有很多优秀的Web框架,比如Django,tornado,Flask等等。都是快捷,简洁的Web框架,可以提供小服务,易可提供大型应用。
下面以Flask为例,环境为python2.7。
具体框架请查询Flask中文文档。
1.导入必要模块
from flaskimport Flask#必要包
#add
from flaskimport request #解析URL使用
import pymysql#样例需要连接mysql
1.1 设置应用名字
app = Flask(__name__)
2.设置路由
使用 route() 装饰器告诉 Flask 什么样的URL 能触发我们的函数。
2.1 以 URL 添加变量部分
2.2 以参数形式
3. 运行
4.实际作业说明。
4.1 如果以flask,作为实际生产环境中:
app.run(host='0.0.0.0',port=8080,debug=False,threaded=True)
1.设置host为0.0.0.0 系统将监听全局ip,
2.debug设置为fasle,关闭debug
3.开启多线程.
4.2 即使使用4.1 操作,依然有超时的可能,当峰值很高的时候。这时可以配置:
1.安装gunicorn ,即一个python Wsgi http server,具体查阅gunicorn简介。
pip install gunicorn
2.安装Nginx,作中间代理,负载均衡。
以centOS下6.5为例:
0,yum install pcre-devel yum install -y zlib-devel
1.wget http://nginx.org/download/nginx-1.11.6.tar.gz 下载nginx到/usr/local 中 先configre 再make install
2.cd /usr/local/nginx/conf/
vim nginx.conf
server {
listen 80;
server_name _;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://0.0.0.0:8080;
}
3.pip install gunicorn gevent
4.3 正式后台运行
nohup gunicorn -b 0.0.0.0:8080 -t 90 -k gevent -w 16 flaskServe:app &