利用gunicorn和flask快速部署

文件结构如下

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 -  # 返回之前的目录
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容