1、supervisor.sock no such file错误
错误:当执行 supervisorctl status时报错supervisor.sock文件不存在。
[root@localhost myweb]# supervisorctl status
unix:///var/run/supervisor/supervisor.sock no such file
如上错误,实际我的supervisor时通过宝塔创建的,supervisor.sock文件是在var/run/ 目录下的,不是默认的/var/run/supervisor目录。直接执行 supervisorctl status 报错。
因为它默认连接 unix:///var/run/supervisor/supervisor.sock(这个路径在我的配置中根本不存在),而实际路径为/var/run/supervisor.sock 。
解决方法:
1)使用 TCP 连接
1.1 编辑配置文件 /etc/supervisor/supervisord.conf,添加:
[inet_http_server]
port=127.0.0.1:9001 # 监听本地 TCP 端口
1.2 重启服务并通过 TCP 连接:
sudo systemctl restart supervisord
sudo /www/server/panel/pyenv/bin/supervisorctl -s http://127.0.0.1:9001 status
1.3 重新创建 supervisorctl 软链接:
# 删除现有软链接(如果有)
sudo rm -f /usr/bin/supervisorctl
# 创建新的软链接
sudo ln -s /www/server/panel/pyenv/bin/supervisorctl /usr/bin/supervisorctl
1.4 验证结果
# 使用完整路径和配置文件检查状态
sudo /www/server/panel/pyenv/bin/supervisorctl -c /etc/supervisor/supervisord.conf status
# 或使用 TCP 连接
sudo /www/server/panel/pyenv/bin/supervisorctl -s http://127.0.0.1:9001 status
# 预期输出示例:
# think-queue:think-queue_00 RUNNING pid 12345, uptime 0:00:30
2)添加访问别名
2.1 添加别名
# 编辑 bash 配置文件(永久生效)
vim ~/.bashrc
# 在文件末尾添加(使用实际的套接字路径)
alias supervisorctl='/www/server/panel/pyenv/bin/supervisorctl -s unix:///var/run/supervisor.sock'
# 生效配置
source ~/.bashrc
2.2 验证结果
# 查看别名
alias supervisorctl
# 预期输出:
# alias supervisorctl='/www/server/panel/pyenv/bin/supervisorctl -s unix:///var/run/supervisor.sock'
#重新执行命令
supervisorctl status
此时可以正常显示进程状态,不再报 “文件不存在” 错误了。
[root@localhost myweb]# supervisorctl status
think-queue:think-queue_00 RUNNING pid 17682, uptime 0:06:09
1698

被折叠的 条评论
为什么被折叠?



