supervisor 管理 python3 + flask + gunicorn

本文详细介绍了如何使用Supervisor在Linux环境下管理Flask Web应用。从安装Supervisor到配置Flask应用的全过程,包括如何正确安装Supervisor,避免与Python3环境冲突,以及如何配置Supervisor来自动管理和重启Flask应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们先安装一下
supervisor对python3支持不好,须使用python2
切记这里不要把他装到python3 的环境中,要不然后续会有很多问题

sudo pip install supervisor

配置
运行echo_supervisord_conf命令输出默认的配置项,可以如下操作将默认配置保存到文件中

echo_supervisord_conf > supervisord.conf

vim 打开编辑supervisord.conf文件,修改

[include]
files = relative/directory/*.ini

[include]
files = /etc/supervisor/*.conf

include选项指明包含的其他配置文件。

将编辑后的supervisord.conf文件复制到/etc/目录下

sudo cp supervisord.conf /etc/

然后我们在/etc目录下新建子目录supervisor(与配置文件里的选项相同),并在/etc/supervisor/中新建tuotiao管理的配置文件xx.conf。
这里我们要找到gunicorn 的安装目录

[group:flaskweb]
programs=flaskweb-app

[program:flaskweb-app]
command=/root/.virtualenvs/py3_flask/bin/gunicorn -w 2 -b 127.0.0.1:5000 manage:app
directory=/home/flask_demo
user=root
autorestart=true
redirect_stderr=false
loglevel=info
stopsignal=KILL
stopasgroup=true
killasgroup=true

启动

supervisord -c /etc/supervisord.conf

查看 supervisord 是否在运行:

ps aux | grep supervisord

我们可以利用supervisorctl来管理supervisor。

supervisorctl
> status    # 查看程序状态
> start xx:*  # 启动 xx组 程序
> stop xx:*   # 关闭 xx组 程序
> restart xx:*    # 重启 xx组 程序
> update    # 重启配置文件修改过的程序

执行status命令时,显示如下信息说明程序运行正常:

supervisor> status
flaskweb:flaskweb-app            RUNNING   pid 4021, uptime 0:00:05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值