运行金字塔pserve服务器作为守护进程的最佳方法

时间:2017-02-16 15:55:39

标签: daemon pyramid httpserver python-daemon

我曾经使用pserve --daemon命令将我的金字塔服务器作为守护程序运行。

鉴于它已被弃用,我正在寻找最佳替代品。 This link建议使用screentmux运行它,但它似乎太重了,无法运行Web服务器。另一个想法是用setsid启动它。

运行它的好方法是什么?

2 个答案:

答案 0 :(得分:2)

最简单的选择是安装supervisord并为服务设置conf文件。该计划只是env/bin/pserve production.ini。网上有无数的例子如何做到这一点。

最佳选项是与系统的流程管理器集成(通常是systemd,但也可能是upstart或sysvinit或openrc)。编写用于启动pserve的systemd单元文件非常容易,然后它将与系统的其余部分一起启动/停止。在这些情况下,甚至会自动处理日志文件。

答案 1 :(得分:2)

在/ 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 enable pyramid.service

启动/停止/重启服务:

systemctl start pyramid.service

systemctl restart pyramid.service

systemctl stop pyramid.service