Сервер 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 

Я не уверен, почему он неактивен (мертв). Что мне нужно, чтобы проверить, исправлено ли это?

Я убежден, что эта проблема является ошибкой упаковки в пакете Supervisor в Ubuntu 16.04 и, похоже, это вызвано переключением на systemd:

  • Эта проблема уже сообщалась вверх по потоку в контролере проблем проекта Supervisor (где ничто не может быть исправлено) в выпуске 735 .

  • Я был укушен этой проблемой несколько дней назад и был поражен, обнаружив, что эта проблема никогда не сообщалась сторонникам пакетов, хотя Ubuntu 16.04 был выпущен совсем недавно, и это нарушает совместимость и ожидаемое поведение. Вот почему я решил сообщить об этой проблеме разработчикам пакетов в ошибке 1594740 .

Я документировал простой обходной путь в ошибке 1594740 , который не требует создания каких-либо файлов конфигурации – вам просто нужно включить и запустить демон Supervisor после установки пакета:

 # Make sure Supervisor comes up after a reboot. sudo systemctl enable supervisor # Bring Supervisor up right now. sudo systemctl start supervisor 

Я не уверен, что это будет исправлено в Ubuntu 16.04, но по крайней мере сейчас есть центральное место для сбора жалоб и обходных решений для документов (в баре 1594740 , а не в выпуске 735 ).

Если кто-то укусил эту проблему, подумайте о том, чтобы выразить свою озабоченность в ошибке 1594740, чтобы убедить сопровождающих пакета решить эту проблему. Благодаря!

Обновление (2017-03-24): вчера исправление для этой проблемы было выпущено в xenial-updates в результате ошибки 1594740, поэтому новые установки больше не будут работать в этой проблеме.

см. здесь Выполнение супервизора автоматически при запуске

  1. Создайте файл supervisord.service в /usr/lib/systemd/system и поместите следующий контент в этот файл в зависимости от системы:

    Сценарии инициализации

  2. sudo systemctl daemon-reload

  3. sudo systemctl enable supervisord.service

  4. sudo systemctl start supervisord.service

Вот пример файла, в который вы можете поместить в свою / 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 

apt-get install supervisor на Ubuntu 16.04.2, устанавливает супервизор 3.2.0 и запускается автоматически при перезагрузке.

pip install supervisor – обновить обновления до 3.3.1, и он больше не запускается.

Обновление работает Ubuntu 16.04.1