我设置了主管来管理一些进程。当我启动服务器时,它工作正常,但是当我停止它并尝试重新启动它时,它失败并显示以下错误消息:
* 启动 Supervisor 守护进程管理器... 错误:另一个程序已在监听我们配置的 HTTP 服务器之一使用的端口。启动 Supervisord 之前,请先关闭此程序。 如需帮助,请使用 /usr/bin/supervisord -h ...失败!
我在端口 80 上运行 nginx,在端口 8000、8001、8002、8003 上运行 4 个 Web 服务器
有人知道发生了什么事吗?
当我重新启动时,一切正常。
答案1
刚刚也遇到了这个问题。我通过以下任一方式解决了这个问题:
sudo unlink /tmp/supervisor.sock
sudo unlink /var/run/supervisor.sock
该文件在文件配置值.sock
中定义(默认为或)。/etc/supervisord.conf [unix_http_server]
/tmp/supervisor.sock
/var/run/supervisor.sock
希望这对将来的某人有所帮助。
答案2
我将使用 lsof 来找出正在监听这些端口的进程。
lsof -i tcp | grep LISTEN
一旦你弄清楚了整个过程,你就成功了一半。
答案3
通常您不会遇到这种情况,但当我错误地使用supervisord
而不是 时,遇到了此错误supervisorctl
。