web-dev-qa-db-ja.com

ubuntuサーバー16.04:スーパーバイザを自動的に起動できません

Ubuntuサーバー16.04にスーパーバイザーをインストールしました。

$ Sudo apt-get install supervisor
$ Sudo update-rc.d supervisor defaults

再起動後、スーパーバイザが自動的に起動しませんでした。ステータスを確認しました:

qinking126@nas:~$ Sudo service supervisor status
[Sudo] password for qinking126:
● supervisor.service - Supervisor process control system for UNIX
   Loaded: loaded (/lib/systemd/system/supervisor.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: http://supervisord.org

なぜそれが非アクティブ(死んでいる)なのかわかりません。修正するには何をチェックする必要がありますか?

45
qinking126

この問題はUbuntu 16.04のスーパーバイザーパッケージのパッケージングバグであり、systemdへの切り替えが原因であると確信しています。

  • この問題は、 issue 735 のスーパーバイザープロジェクトの課題追跡(上流で何も修正できない)の上流ですでに報告されています。

  • Ubuntu 16.04はかなり前にリリースされており、これにより下位互換性と期待される動作が損なわれますが、数日前にこの問題に悩まされ、この問題がパッケージのメンテナに報告されなかったことに驚いていました。これが私がこの問題を bug 1594740 のパッケージメンテナーに報告することにした理由です。

bug 1594740 に構成ファイルの作成を必要としない簡単な回避策を記載しました-スーパーバイザーデーモンを有効にして起動するだけですパッケージのインストール後:

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

# Bring Supervisor up right now.
Sudo systemctl start supervisor

これがUbuntu 16.04で修正されるかどうかはよくわかりませんが、少なくとも bug 1594740ない問題735 )。

誰かがこの問題にかまれた場合は、 bug 1594740 で懸念を表明して、パッケージのメンテナにこの問題を修正するように説得してください。ありがとう!

更新(2017-03-24):昨日、この問題の修正 がリリースされました から xenial-updatesbug 1594740 の結果、新規インストールでこの問題が発生することはなくなりました。

62
xolox

こちらをご覧ください 起動時に監視プログラムを自動的に実行

  1. 作成supervisord.serviceファイル/usr/lib/systemd/systemそしてシステムに応じて以下の内容をこのファイルに入れます:

    initscripts

  2. Sudo systemctl daemon-reload

  3. Sudo systemctl enable supervisord.service

  4. Sudo systemctl start supervisord.service

7
Belter

私はそれをスーパバイザを取り外し、再度インストールしました。それからそれは私のために働いた。

Sudo apt-get purge supervisor
Sudo apt-get install supervisor
cp path/to/file.conf /etc/supervisor/conf.d/
Sudo supervisorctl reread
Sudo supervisorctl update
2

/ lib/systemd/system /に配置できるファイルの例を次に示します

[Unit]
Description=Supervisord Service

[Service]
Restart=on-failure
RestartSec=42s
User=ubuntu
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisord.conf

[Install]
WantedBy=multi-user.target
1

apt-getはUbuntu 16.04.2にスーパーバイザをインストールし、スーパーバイザ3.2.0をインストールし、再起動時に自動的に起動します。

pip install supervisor --upgradeを3.3.1にアップグレードすると、まったく起動しなくなります。

アップグレードはUbuntu 16.04.1で機能します

1
bsrdjan

CentOSでは、起動時にsupervisordを実行するcronジョブを実行して解決しました。

cronジョブを作成するにはrun crontab -eターミナルに貼り付けてから、@reboot /bin/supervisordsupervisordへのパスである必要があります)ジョブの最後にそれを保存します。

0
ako