当 supervisor 报 "unix:///tmp/supervisor.sock no such file" 错误时, 首先要排查 tmp 目录, 果然由于 Linux 清除 /tmp/ 目录所致.
解决方法就是, 把conf 的 /tmp/ 路径改掉. 主要下面几块
vi /etc/supervisord.conf
supervisord.conf
[unix_http_server]
;file=/tmp/supervisor.sock ; (the path to the socket file)
file=/var/run/supervisor.sock ; 修改为 /var/run 目录,避免被系统删除
[supervisord]
;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile=/var/log/supervisor/supervisord.log ; 修改为 /var/log 目录,避免被系统删除
[supervisorctl]
; 必须和'unix_http_server'里面的设定匹配
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
serverurl=unix:///var/run/supervisor.sock ; 修改为 /var/run 目录,避免被系统删除
再然后更新下
supervisorctl update
收工