ElastAlertを管理するためにスーパーバイザー(v3.1.2)をインストールしましたが、supervisorctl
を実行すると、次のエラーがスローされることがあります。
unix:///var/run/supervisor.sock no such file
その他の場合は、このエラーがスローされます。
unix:///tmp/supervisor.sock no such file
supervisor>
プロンプトが表示されることに注意しますが、その後のコマンドは上記と同じエラーです。 /etc/supervisor/supervisor.conf
ファイルは/var/run
を使用するように構成されていますが、これは2番目のエラーと矛盾しているようです。
他のヘルプページで提案されているように、/etc/supervisor.conf
へのリンクを作成しましたが、違いはありませんでした。
奇妙なことに、最初にSupervisorをインストールしたときは問題なく動作しましたが、再起動後にこの問題が発生しました。もう1つの奇妙な点は、ElastAlertが再起動後に起動し、正常に動作し続けることです。したがって、エラーが発生している可能性がありますが、その役割は果たしています。ショーストッパーではありませんが、これが適切に機能するようにしたいと思います。
何か案は?
これは、物理マシンが再起動したときに発生します。私のマシンは12.04から16.04までのUbuntuを実行しています。スーパーバイザをサービスとして再起動することで解決します。
Sudo service supervisor stop
Sudo service supervisor start
(これはどういうわけか、単に「再起動」を使用するよりもはるかにうまく機能します)
再起動のたびに再起動する必要なく他のプログラムを起動するためにスーパーバイザに依存している場合、これは明らかに理想的な修正ではありません。現在、他の人が提案したようにsystemd
を調査しています。
編集:Ubuntu 16.04を使用している場合、この回答で問題が解決する可能性があります。 systemdを「有効」にして監視を開始する必要があります。 https://unix.stackexchange.com/a/291098
これが私の場合です。このコマンドを入力したときのエラーがunix:///var/run/supervisord.sock no such file
だとしますSudo supervisorctl status
だから私の解決策は:
Sudo nano /etc/supervisor/supervisord.conf
[supervisorctl]
serverurl=unix:///var/run/supervisord.sock ; use a unix:// URL for a unix socket
unix:///var/run/supervisor.sock
に変更します。スーパーバイザの違いを見るdとスーパーバイザservice supervisor restart
Sudo service supervisor status
Sudo supervisorctl status
存在する場合は、/etc/supervisor/conf.d/ ...
で構成を削除するか、スーパーバイザーを再インストールしてくださいDjango app。私のマシンはaws => ec2 => ubuntu 18.xです。
Gunicorn bashファイルの構成が間違っていました。 gunicornファイルのパスの問題を修正したとき。スーパーバイザーは戻って働き始めました。
正しく設定したことを確認してください:
DJANGODIR=/home/ubuntu/<my-project> # Django project directory
SOCKFILE=/home/ubuntu/<my-project>/run/gunicorn.sock # we will communicte using this unix socket