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