如何重新加载mojolicious内置的webserver守护进程?

sid*_*com 4 perl mojolicious systemd

我从中复制了这个systemd service文件lighttpd-package并对其进行了调整以systemd启动mojolicious内置服务器守护程序.我可以保留mojolicious守护进程ExecReloadKillSignal设置吗?

[Unit]
Description=Start mojolicious.pl daemon
After=syslog.target network.target

[Service]
ExecStart=/path/to/mojolicious.pl daemon --listen "http://*:3001"
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

小智 7

我认为亚历克斯正在考虑morbo何时说它会自动重新加载.对于生产,你会更好地使用hypnotoad.如果切换到hypnotoad那么有各种有用的信号.例如,/bin/kill -USR2 $MAINPID将执行正常的重新加载,避免对任何当前连接的不满.有关更多信号(对于催眠),请参阅http://mojolicio.us/perldoc/Mojo/Server/Hypnotoad#SIGNALS


小智 2

我不知道为什么你需要“重新加载”,当应用程序代码更改时,Mojolicious 会执行内部重新加载。你可以将其替换为

/bin/kill -0 $MAINPID
Run Code Online (Sandbox Code Playgroud)

如果该行应该在那里,HUP 将是正常应用程序的终端(除非您以不同的方式处理它)