pipe理器套接字错误问题

$ supervisorctl reread error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567 

我正尝试在我的生产系统上configuration主pipe,但是遇到了这个错误。 pipe理员日志文件是空的。

当我inputsupervisorctl ,它会抱怨:

 http://localhost:9001 refused connection 

目前没有任何东西正在9001端口收听,AFACT: lsof | grep TCP lsof | grep TCP什么也不返回。

你必须先启动supervisord,然后才能使用supervisorctl。 在我的情况下:

 sudo supervisord -c /etc/supervisor/supervisord.conf sudo supervisorctl -c /etc/supervisor/supervisord.conf 

如果你开始监督一个自定义的path,像这样:

 sudo supervisord -c /mypath/supervisord.conf 

那么你也应该用相同的参数启动superctctl,像这样:

 sudo supervisorctl -c /mypath/supervisord.conf 

如果您使用-c的相对URL启动主pipe,然后尝试从其他目录运行supervisorctl,则可能会遇到此问题。

例如:

 supervisord -c supervisord.conf supervisorctl start someapp ## works cd somedirectory supervisorctl restart someapp ## http://localhost:9001 refused connection 

解决方法是始终使用绝对path。 例如:

好:

 supervisord -c /etc/supervisor/supervisord.conf 

坏:

 supervisord -c supervisord.conf 

当使用supervisord.conf文件的旧版本时,也会发生此问题。 较新版本的pipe理程序使用不同的configuration文件。 上述解决scheme不起作用。 在这种情况下,你只需要重新生成configuration文件

 echo_supervisord_conf > /etc/supervisord.conf 

希望它能帮助别人。

请执行以下操作:

sudo service supervisor start

一切正常的post,因为B4 – 有一个版本的问题

sudo supervisorctl reload

supervisordsupervisorctl使用-c whit绝对configuration文件path,确保两个命令都以相同的configuration启动。