后台已启动supervisord后,使用supervisorctl命令进行任务管理时,发现报错
[root@yczc4 autoop_services]# supervisorctl
http://localhost:9001 refused connection
问题原因分析:
supervisor通常有以下两种方式通信:
1、本地socket
2、http连接
在supervisor.conf配置文件中,启用socket连接,注释http方式,supervisorctl配置项也使用unix socket
[unix_http_server]
file=/var/run/supervisor.sock ; the path to the socket file
;chmod=0700 ; socket file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; default is no username (open server)
;password=123 ; default is no password (open server)
;[inet_http_server] ; inet (TCP) server disabled by default
;port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface
;username=user ; default is no username (open server)
;password=123 ; default is no password (open server)
[supervisorctl]
serverurl=unix:///var/run/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
;username=chris ; should be same as in [*_http_server] if set
;password=123 ; should be same as in [*_http_server] if set
;prompt=mysupervisor ; cmd line prompt (default "supervisor")
;history_file=~/.sc_history ; use readline history if available
但是在启动supervisorctl时,未指定配置文件,因此会使用默认的http方式连接supervisord,最终导致报错
正确方式是需要制定配置文件:
[root@yczc4 autoop_services]# supervisorctl -c /etc/supervisor.conf
celery RUNNING pid 21339, uptime 0:03:33
supervisor>