【supervisor】unix:///tmp/supervisor.sock no such file

问题

supervisor在正常安装完时运行正常,但隔一段时间后出现了故障,重启后报:

unix:///tmp/supervisor.sock no such file

原因是 supervisor 默认配置会把 socket 文件和 pid 守护进程生成在Linux的/tmp/目录下,/tmp/目录是缓存临时文件的目录,Linux会根据不同情况自动删除其下面的文件。比如缓存超时等,因此我们需要做如下修改:

具体操作如下:

vi /etc/supervisord.conf  

或者

 /etc/supervisor/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 目录,避免被系统删除
pidfile=/var/run/supervisord.pid ; 修改为 /var/run 目录,避免被系统删除

[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

但是提示

Redirecting to /bin/systemctl start supervisor.service
Failed to start supervisor.service: Unit supervisor.service not found.

再执行 supervisorctl 时提示:

[root@xxx run]# supervisorctl
unix:///var/run/supervisor.sock refused connection
supervisor> exit

最后

supervisord -c /etc/supervisord.conf  # 可以直接执行这条命令, 自动创建supervisor.sock

但我的supervisord.conf 文件在 /etc/supervisor/supervisord.conf

因此执行后启动成功

supervisord -c  /etc/supervisor/supervisord.conf 
相关推荐
是安迪吖2 分钟前
nfs服务器
运维·服务器
鱼骨不是鱼翅3 分钟前
模拟回显服务器
运维·服务器
EasyCVR42 分钟前
ISUP协议视频平台EasyCVR视频设备轨迹回放平台智慧农业视频远程监控管理方案
服务器·网络·数据库·音视频
Elastic 中国社区官方博客1 小时前
使用真实 Elasticsearch 进行更快的集成测试
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·集成测试
PcVue China5 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
舞动CPU7 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
钰@8 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo8 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
扣得君10 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go10 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell