今天写了一个管理supervisord进程脚本,执行发现有报错,如下
http://localhost:9001 refused connection
问题原因分析:
supervisor通常有以下两种方式通信:
1、本地socket
2、http连接
本机supervisord配置文件里面是开启了socket连接
[supervisorctl] serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket ;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket
我在启动supervisorctl时,未指定配置文件,因此会使用默认的http方式连接supervisord,最终导致报错
正确执行方式如下 启动supervisord supervisord -c /path/supervisord.conf 关闭supervisord supervisorctl -c /path/supervisord.conf shutdown 查看supervisord管理的进程 supervisorctl -c /path/supervisord.conf status 停止supervisord管理的进程 supervisorctl -c /path/supervisord.conf stop process_name 启动supervisord管理的进程 supervisorctl -c /path/supervisord.conf start process_name