2

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

鉴于它已被弃用,我正在寻找最好的替代品。此链接建议使用screenor运行它tmux,但仅运行 Web 服务器似乎太重了。另一个想法是使用 setsid 启动它。

什么是运行它的好方法?

4

2 回答 2

4

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

使用以下命令启动/停止/重新启动服务:

systemctl 启动 pyramid.service

systemctl 重启 pyramid.service

systemctl stop pyramid.service

于 2018-06-05T17:46:28.647 回答
2

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

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

于 2017-02-16T17:57:49.887 回答