Лучший способ запустить сервер хранения пирамиды в качестве демона

Раньше я запускал свой сервер пирамиды как демон с помощью команды pserve --daemon.

Учитывая, что он устарел, я ищу лучшую замену. По этой ссылке рекомендуется запускать ее с screen или tmux, но кажется слишком тяжелым, чтобы просто запустить веб-сервер. Другой идеей было бы запустить его с setsid.

Что было бы хорошим способом запустить его?


person Eino Gourdin    schedule 16.02.2017    source источник
comment
Взгляните на этот ответ: stackoverflow.com/a/41335348/3657941   -  person David Cullen    schedule 16.02.2017


Ответы (2)


Самый простой вариант — установить supervisord и настроить файл conf для службы. Программа будет просто env/bin/pserve production.ini. В Интернете есть бесчисленное множество примеров того, как это сделать.

лучший вариант — интегрироваться с диспетчером процессов вашей системы (обычно это systemd, но может быть и upstart, sysvinit или openrc). Очень просто написать юнит-файл systemd для запуска pserve, после чего он будет запускаться/останавливаться вместе с остальной частью вашей системы. В этих случаях файлы журналов даже обрабатываются автоматически.

person Michael Merickel    schedule 16.02.2017
comment
Я обнаружил, что supervisord — отличное решение для запуска/управления пирамидой и другими пользовательскими серверными сокетами. Одна деталь, о которой следует помнить, заключается в том, что после перезапуска сервера вам нужно будет выполнить команду supervisord -c /etc/supervisord.conf, чтобы удалить устаревший сокет. - person Tim D; 18.02.2017

Создайте файл службы в /etc/systemd/system. Вот пример (pyramid.service):

[Unit]

Description=pyramid_development
After=network.target

[Service]
# your Working dir
WorkingDirectory=/srv/www/webgis/htdocs/app
# your pserve path with ini
ExecStart=/srv/www/app/env/bin/pserve /srv/www/app/development.ini

[Install]
WantedBy=multi-user.target

Включить службу:

systemctl включить пирамиду.сервис

Запустить/остановить/перезапустить службу с помощью:

systemctl запустить пирамиду.сервис

systemctl перезапустить пирамиду.сервис

systemctl остановить пирамиду.сервис

person Neffets    schedule 05.06.2018