我们先安装一下
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