【问题标题】:Supervisorctl error: unix:///var/run/supervisord.sock refused connection? [closed]Supervisorctl 错误:unix:///var/run/supervisord.sock 拒绝连接? [关闭]
【发布时间】:2013-12-02 17:51:39
【问题描述】:

这是我的配置文件。我运行supervisord -c /etc/supervisor/supervisord.conf 它运行良好。 当我尝试运行supervisorctl -c /etc/supervisor/supervisord.conf 时,发生了错误:

错误:,serverurl /var/run/supervisord.sock 的未知协议:文件:/usr/local/lib/python2.7/dist-packages/supervisor-3.0b2-py2.7.egg/supervisor/xmlrpc .py 行:440

我可以通过http://127.0.0.1:9001完美地启动或停止我的程序,但是我想在命令行中控制程序。有人可以帮助我吗?

[unix_http_server]
file = /var/run/supervisor.sock
chmod = 0777
chown= root:cruelcage

[inet_http_server]
port=9001
username = cruelcage
password = 123

[supervisorctl]
serverurl = /var/run/supervisord.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisord]
logfile=/home/cruelcage/log/supervisord/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10          ; (num of main logfile rotation backups;default 10)
loglevel=info               ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=true              ; (start in foreground if true;default false)
minfds=1024                 ; (min. avail startup file descriptors;default 1024)
minprocs=200                ; (min. avail process descriptors;default 200)
#user=root                 ; (default is current user, required if root)
childlogdir=/home/cruelcage/log/supervisord/            ; ('AUTO' child log dir, default $TEMP)

[program:config]
command=python /home/cruelcage/documents/config/config.py
autostart = true
startsecs = 5
user = cruelcage
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdoiut_logfile_backups = 20
stdout_logfile = /home/cruelcage/log/debug.log

【问题讨论】:

    标签: unix supervisord


    【解决方案1】:

    有时supervisor配置文件安装后不会自动生成,需要手动编写:

    echo_supervisord_conf > /etc/supervisord.conf
    sudo supervisord -c /etc/supervisord.conf
    sudo supervisorctl status
    

    【讨论】:

    • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    【解决方案2】:

    您的 [supervisorctl] serverurl 应该是“unix:///var/run/supervisord.sock”,因为“/var/run/supervisord.sock”不是有效的 URI供xmlrpclib 连接。

    【讨论】:

      【解决方案3】:

      我遇到了这个问题,发现它是在服务器重新启动后发生的。当supervisor之后尝试重新启动时,找不到在我的守护进程配置文件中指定的日志目录(这个问题在supervisor运行时没有出现)。

      我需要做的就是更改文件中的 stdout_logfile 路径(或注释掉该行):

      (将##### 换成你的文件ID)

      sudo nano /etc/supervisor/conf.d/daemon-#####.conf

      添加现有的日志文件路径或在行首用 # 注释掉该行:

      #stdout_logfile=/my/bad/log/directory

      然后重启supervisor

      sudo service supervisor restart

      【讨论】:

        猜你喜欢
        • 2017-07-17
        • 2016-08-01
        • 2013-02-22
        • 2019-04-07
        • 1970-01-01
        • 2021-12-08
        • 1970-01-01
        • 1970-01-01
        • 2013-11-18
        相关资源
        最近更新 更多