supervisor英文文档:Introduction — Supervisor 4.2.4 documentation
一、centos yum安装
yum install -y epel-release
yum install -y supervisor
设置开机自启动
systemctl enable supervisord
启动 supervisord 服务
systemctl start supervisord
配置文件在 /etc/supervisor/supervisord.conf
二、debian apt-get安装
apt-get install supervisor
设置开机自启动
systemctl enable supervisor
启动 supervisord 服务
systemctl start supervisor
三、python pip安装
1、安装:
pip install supervisor==3.0
2、拷贝配置文件到 /ect目录下: echo_supervisord_conf > /etc/supervisord.conf
3、启动:supervisord -c /etc/supervisord.conf
四、问题解决
supervisorctl 命令使用不了了。
supervisorctl
unix:///var/tmp/supervisor.sock no such file
说明 supervisorctl 和 supervisord 之间的通信是通过 socket 进行的,但是明明 /etc/supervisord.conf
中,有相关的设置。我怀疑是由于supervisor被我升级之后,配置文件结构有改变,原来旧的配置文件的一些配置可能已经无效了。于是查阅了官方文档 ,原来是需要增加
[unix_http_server]
file=/var/tmp/supervisor.sock
chmod=0777
不过一运行,又变成了这种错误提示:
supervisorctl
Sorry, supervisord responded but did not recognize the supervisor namespace commands that supervisorctl uses to control it. Please check that the [rpcinterface:supervisor] section is enabled in the configuration file (see sample.conf).
最后查证,还需要加上
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
才可以。真是好事多磨。
五、supervisord 配置文件修改重载
[include]
files = /var/conf/1/*.conf /var/conf/2/*.conf /var/conf/2/*.conf
多个配置目录用空格分开,然后使用打开supervisorctrl,使用命令:reread 重载配置文件,再使用 update 命令加载配置的进程
客户端常用命令请看这里:点我查看