web-dev-qa-db-ja.com

Supervisorctlエラー:unix:///var/run/supervisord.sockが接続を拒否しましたか?

これは私の設定ファイルです。私は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
15
cruelcage

君の [supervisorctl]serverurlは「nix:///var/run/supervisord.sock」である必要があります。「/ var/run/supervisord.sock」は、xmlrpclibが接続する有効なURIではないためです。

10
soulseekah
echo_supervisord_conf > /etc/supervisord.conf
Sudo supervisord -c /etc/supervisord.conf
Sudo supervisorctl status
13
Eski Yin

この問題があり、サーバーの再起動後に発生することがわかりました。その後、スーパーバイザが再起動を試みたとき、ログディレクトリが見つかりませんでしたデーモン構成ファイルに指定されていました(スーパーバイザの実行中にこの問題は発生しませんでした)。

私がする必要があるのは、ファイルのstdout_logfileパスを変更する(または行をコメント化する)だけです。

(#####をファイルIDに置き換えます)

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

既存のログファイルパスを追加するか、行の先頭に#を付けてコメントアウトします。

#stdout_logfile=/my/bad/log/directory

次に、スーパーバイザを再起動します

Sudo service supervisor restart

2
mmarlow