利用gunicorn和flask快速部署
2017-07-01 本文已影响0人
潇Shawn纹
文件结构如下
myapp/
__init__.py
tmp/
static/
templates/
views/
run.py
app.py
restart.sh
app.py
应用与路由,开发测试时,直接运行这个脚本启动。
# encoding:utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello World'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=30030)
run.py
脚本是生产环境启动的脚本,后面配合gunicorn
使用:
# coding:utf-8
from app import app
if __name__ == '__main__':
# 生产环境下的配置
app.run(host='0.0.0.0', port=30030)
运行restart.sh
启动或者重启服务。里面会指定.pid
文件,用以重启。
#/bin/bash
kill `cat ./tmp/slavett.pid`
gunicorn -w 1 run:app -p ./tmp/slavett.pid &
最后将启动脚本加入到开机启动中:
- 运行
sudo vim /etc/rc.d/rc.local
编辑该文件。 - 在最后加入两行:
cd /workplace/to/myapp # 到工作目录
su username -c "bash restart.sh" # 以参数的方式运行命令
cd - # 返回之前的目录