python supervisor flask_Python学习 - Flask项目部署 (Flask+Gunicorn+Supervisor)

-- 首先我是一个python初学者,本帖也是针对初学同学交流使用, 大牛请绕路。

一、Flask 示例搭建Flask虚拟环境

# shell

$ cd /code

$ mkdir flask_demo && cd flask_demo

$ pyvenv env

$ source env/bin/activate

$ touch app.py

2. 安装Flask

# shell

$ pip3 install flask

3. Flask demo

# app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello():

return "Hello World!"

if __name__ == '__main__':

app.run(port=5000)

4. 运行

$ python3 app.py

二、使用 Gunicorn 启动服务安装Gunicorn( 可以全局安装 我这安装到了虚拟环境 )

$ pip3 install gunicorn

2. Gunicorn 方式运行

虚拟环境

$ /env/bin/gunicorn -w 4 -b 0.0.0.0:5000 app:app

全局环境

$ gunicorn -w 4 -b 0.0.0.0:8080 app:app

3. 关于参数-w 4是指预定义的工作进程数为4,

-b 127.0.0.1:4000指绑定地址和端口

app:app ”:“ 左边的app是flask的启动python文件,”:“右边的app则是flask应用程序实例关于 Supervisor的介绍可以参考标题里的链接安装工具easy_install

$ yum install python-setuptools

2. 安装Supervisor

$ easy_install supervisor

3. 配置Supervisor应用守护

a) 通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件

$ mkdir /etc/supervisor

$ echo_supervisord_conf > /etc/supervisor/supervisord.conf

b) 修改supervisord.conf, 作为结尾处修改

...

;[include]

;files = relative/directory/*.ini

;conf.d

[include]

files = conf.d/*.conf

c) 目录"/etc/supervisor/conf.d/"下创建一个.conf文件, 内容如下

[program:flask_web]

command=/code/flask_web/env/bin/gunicorn -w 4 -b 0.0.0.0:5000 app:app

directory=/code/flask_web

autorestart=true

stderr_logfile=/data/logs/cc_web/error.log

stdout_logfile = /data/logs/cc_web/out.log

environment = PATH="/code/flask_web/env/bin",PYTHONPATH="/code/flask_web:PYTHONPATH"

user=root ; 进程执行的用户身份

stopsignal=INT

4. 启动, 并查看是否生效

$ supervisord -c /etc/supervisor/supervisord.conf

$ ps -ef | grep flask_web

5. 常用的相关管理命令

$ supervisorctl restart ;重启指定应用

$ supervisorctl stop ;停止指定应用

$ supervisorctl start ;启动指定应用

$ supervisorctl restart all ;重启所有应用

$ supervisorctl stop all ;停止所有应用

$ supervisorctl startall ;启动所有应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值