50

このチュートリアルhttp://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/に従ってdjango-gunicorn-nginxセットアップを使用していますが、nginxセットアップまでは機能しています。次に、スーパーバイザーをインストールして構成し、サーバーを再起動して確認したところ、502の不正なゲートウェイが表示されています。Ubuntu12.04LTSを使用しています

/etc/supervisor/conf.d/qlimp.conf

[program: qlimp]
directory = /home/nirmal/project/qlimp/qlimp.sh
user = nirmal
command = /home/nirmal/project/qlimp/qlimp.sh
stdout_logfile = /path/to/supervisor/log/file/logfile.log
stderr_logfile = /path/to/supervisor/log/file/error-logfile.log

次に、スーパーバイザを再起動し、このコマンドを実行する$ supervisorctl start qlimpと、このエラーが発生します

unix:///var/run/supervisor.sock no such file

スーパーバイザーの設定に問題はありますか?

ありがとう!

4

11 に答える 11

26

私はあなたと同じ問題に遭遇しましたが、何度か解決策があります:

  1. 最初に apt-get スーパーバイザ バージョンを削除します。

      sudo apt-get remove supervisor
    
  2. バックエンド スーパーバイザ プロセスを終了します。

     sudo ps -ef | grep supervisor
    
  3. 次に、最新バージョンを取得します (apt-get バージョンは 3.0a8 でした):

    sudo easy_install(pip install) supervisor==3.0b2 
    
  4. 構成ファイルをエコーし​​ます (ルート許可):

    echo_supervisord_conf > /etc/supervisord.conf
    

5.supervisord を開始します。

   sudo supervisord

6.supervisorctl を入力します。

   sudo supervisorctl

なんでも出来た!楽しむ!

于 2013-07-29T06:45:54.957 に答える
17

これを試して

cd /etc/supervisor
sudo supervisord
sudo supervisorctl restart all
于 2014-11-06T16:56:08.080 に答える
12

Supervisord がインストールされ、実行されていることを確認してください。にソケットファイルはあります/var/run/supervisor.sockか?

このエラーはsupervisorctl、制御 CLI がsupervisord、デーモンである と通信するための UNIX ソケットに到達できないことを示しています。

とセクション/etc/supervisor/supervisord.confの値が一致するかどうかを確認することもできます。unix_http_serversupervisorctl

これは Ubuntu レベルの問題であり、Python、Django、または nginx の問題ではないことに注意してください。そのため、この質問はおそらく ServerFault に属します。

于 2012-05-23T08:42:26.663 に答える
10

Ubuntu 16+ では、systemd への切り替えが原因のようです。新しいサーバーでは、この回避策で修正される可能性があります。

 # Make sure Supervisor comes up after a reboot.
 $ sudo systemctl enable supervisor

 # Bring Supervisor up right now.
 $ sudo systemctl start supervisor

次に、スーパーバイザーのiconic.conf [私の例]のステータスを確認します

$ sudo supervisorctl status iconic

ここに画像の説明を入力

PS: 実行中に gunicorn に問題がないことを確認してください。

于 2016-10-16T22:26:16.910 に答える
5

エラーは、権限がないことが原因である可能性があります。おそらく、この方法でエラーを修正し、端末を開いてvim /etc/supervisord.conf、ファイルを編集するために入力し、行を検索できます

[unix_http_server]
;file=/tmp/supervisor.sock   ; (the path to the socket file)
;chmod=0700                  ; socket file mode (default 0700)

文字列の先頭にあるセミコロンを削除し、;file=/tmp/supervisor.socksupervisord;chmod=0700を再起動します。そうすることをお勧めします。

于 2015-02-12T03:58:36.893 に答える
0
touch /var/run/supervisor.sock
sudo supervisord -c /etc/supervisor/supervisord.conf

そしてsupervisorctlがすべて再起動した後

スーパーバイザーポートをリッスンしたい場合

ps -ef | grep supervisord

プロセスを強制終了したい場合

kill -s SIGTERM 2503  
于 2018-06-19T06:30:54.203 に答える