Upstart не любит запускать gunicorn, потому что он пытается вызвать setpgrp (см. выпуск github ), как лучше всего запустить [gunicorn] при установке сервера 10.04.1? - Идеально с автоматическим перезапуском неисправного основного процесса и нескольких рабочих. На сайте gunicorn упоминаются [runit] и [supervisord], стоит ли устанавливать другой тип супервизора процессов наряду с выскочкой Ubuntu?
Я запишу прогресс здесь после экзаменов, если кто-то не придет с лучшее решение.
Хорошо, я пробовал:
respawn
respawn limit 10 5
expect daemon # also tried expect fork
exec python /path/to/manage.py run_gunicorn --daemon
, но я не могу получить работу, она просто зависает? ничего не появляется в ps aux | grep manage
или системном журнале, я предполагаю, что выскочка не ловит вилку должным образом. Это потому, что я использую manage.py
вместо gunicorn
напрямую? Я сразу же попробую, как только получу шанс.
Пояснение: manage.py
взято из экземпляра django 1.2 с gunicorn
в качестве установленного приложения, но без специальных настроек в settings.py (я не знаю синтаксиса для указания порта / адреса / рабочих-оружейников в настройках. py, так что я планировал просто использовать аргументы cmdline)
Я только что прокомментировал в выпуске github.
Поскольку, кажется, что есть некоторые проблемы с setpgrp и gunicorn, у вас могут быть лучшие результаты, если вы запустите его с
ожидаемым ответвлением
, добавленным в определение задания выскочки.
так что-то вроде
start on runlevel [2345]
stop on runlevel [!2345]
respawn
expect fork
exec /path/to/gunicorn --daemon
должно работать хорошо.
«Человек 5 init» - это обширная информация, которая должна помочь понять, почему все так работает.
Мы просто продвинули патч к ведущему устройству Gunicorn [1], который позволит Вам использовать Gunicorn с Выскочкой. Вы не должны должны быть использовать любой из, "ожидают ветвление" конфигурационные директивы с этой версией.