1.运行supervisorctl时报错supervisor.sock refused connection
网上普遍说是superviored挂掉了,但是ps -A 查看进程时并没有问题
我怀疑可能是在docker环境下使用unix配置supervior服务端时会启动失败
开始的安装配置方法:https://www.jianshu.com/p/39b476e808d8
出现问题1.我的解决方法:
修改supervisor.conf
[unix_http_server]
file=/tmp/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:///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
;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
[include]
files = conf.d/*.conf
修改这四个位置的配置参数
2.报错 unlink: cannot unlink `/tmp/supervisor.sock’: No such file or directory
解决方法
unlink /tmp/supervisor.sock
一般是由于直接kill掉supervisord进程引起,
正确方法关闭 supervisorctl shutdown
3.关于docker run -d imageid supervisord 运行直接退出的问题
因为运行完supervisord指令,没有继续运行的脚本,docker默认结束运行就退出来了
可以加个死循环保证docker时刻运行
/bin/sh -c "/opt/start.sh && while true; do echo hello world; sleep 1; done"
start.sh
unlink /tmp/supervisor.sock
service supervisor restart