(Plesk for Linux)クラッシュしたサービスを Systemd で自動的に再起動する
概要: init システムに systemd を使用する Linux ディストリビューション (Debian 8 以降、CentOS/RedHat 7 以降、Ubuntu 18 以降) の場合、特定のサービスがクラッシュすると、Plesk が systemd にこれらのサービスの再起動を指示します。
このトピックでは、クラッシュしたサービスの自動的な再起動をカスタマイズする方法を学習します。
以下のサービスは systemd 経由で自動的に再起動されます。
- Plesk サービス(sw-cp-server、sw-engine)
- ホスティングサービス(PHP-FMP、nginx)
- その他の特定のサービス(Dovecot、MariaDB など)
systemd 再起動には次のような設定があり、panel.ini ファイルでカスタマイズできます。
-
respawn
設定:クラッシュしたサービスが自動で再起動するかどうかを制御します。この設定はデフォルトで有効になっています。オフにするには、respawn
設定の値をoff
に変更します。 -
Service.RestartSec
設定:systemd がクラッシュしたサービスを再起動するまでのダウンタイムを秒単位で指定します(デフォルトで 5 秒)。 -
Service.Restart
設定:サービスを再起動すべき条件を指定します。この設定のデフォルト値はon-failure
で、ゼロ以外の終了コードで終了すると、サービスが再起動します。Service.Restart
設定:以下の値を受け付けます。no|always|on-success|on-failure|on-abnormal|on-abort|on-watchdog
。これらの値の意味はこちらをご覧ください。
クラッシュしたサービスの systemd による自動再起動をカスタマイズするには:
-
変更したい systemd 設定を panel.ini ファイルの
[systemd]
セクションの下に追加します。例:[systemd] Service.RestartSec = 7 Service.Restart = always
-
カスタマイズした設定を有効化するには、以下のパターンでコマンドを実行します。
/usr/local/psa/admin/sbin/register_service --enable <service>
ここで
<service>
は、このリストの任意のサービスです。例:
/usr/local/psa/admin/sbin/register_service --enable sw-engine
これでカスタマイズした設定が適用されます。
注釈: 特定のサービス(Fail2Ban、PostgreSQL など)には、独自の systemd 再起動設定があり、デフォルトと異なる場合があります。これらのサービスには、panel.ini
でカスタマイズした再起動設定が適用されません。