4

systemd serviceこのファイルを からコピーし、モジョリシャスなビルトイン サーバー デーモンを起動するlighttpd-packageように変更しました。mojolicious デーモンのと の設定systemdを維持できますか?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
4

4 に答える 4

9

morboアレックスは、自動リロードと言うときのことを考えていると思います。本番環境では、を使用する方がよいでしょうhypnotoad。切り替えた場合hypnotoad、役立つさまざまな信号があります。たとえば/bin/kill -USR2 $MAINPID、現在の接続の混乱を回避して、グレースフル リロードを実行します。その他のシグナル (hypnotoad 用) については、http: //mojolicio.us/perldoc/Mojo/Server/Hypnotoad#SIGNALS を参照してください。

于 2012-07-04T11:26:23.157 に答える
2

なぜ「リロード」が必要なのかわかりません。アプリケーションコードが変更されると、Mojoliciousは内部リロードを実行します。あなたはそれをに置き換えるかもしれません

/bin/kill -0 $MAINPID

その行がそこにある場合、HUPは通常のアプリケーションのターミナルになります(別の方法で処理しない限り)

于 2012-06-21T17:12:50.220 に答える
0

別のオプションはhypnotoad、フォアグラウンドで実行し、& 単純なスクリプト-fでサービス監視を使用することです:runit/etc/sv/myapp/run

#!/bin/sh

app=/path/to/my/app
daemon=/path/to/hypnotoad

exec 2>&1
exec $daemon -f $app

hypnotoadその後、その構成を再読み込みすることができますsv hup myapp

Red Hat は提供していませんrunitrpm、最新バージョンはhere からビルドできます。

ln -s /etc/sv/myapp /etc/service/myappでサービスを有効にすることを忘れないでくださいrunit

于 2018-01-24T17:07:16.853 に答える