回答:
monit
サービスが失敗したときにサービスを監視および再起動するのに最適な方法です。おそらく、これを他の重要なサービス(Apacheなど)に使用することになります。nixCraftには、これをサービスに具体的に使用する方法を詳しく説明した素晴らしい記事がありますが、monit
それ以外にも多くの機能があります。
ソケットの側面については、@ galraenがこのスポットに答えました。
サービスの再起動部分のみに応答します。私もMonitに出会いましたが、CentOS 7ではsystemdがすべてを処理してくれます。これらの2行を.serviceファイルに追加するだけです(まだない場合)。
Restart=always
RestartSec=3
参照については、https://jonarcher.info/2015/08/ensure-systemd-services-restart-on-failure/を参照してください。
カスタムsystemdサービスを作成する場合、独自のサービスファイルを作成するのは非常に簡単です。カスタムhttpサーバーについては、以下の例を参照してください。
新しいサービスファイルでエディターを起動します。
vim /etc/systemd/system/httpd.service
そして、必要に応じて編集できる次のコンテンツを追加します。
[Unit]
Description=My httpd Service
After=network.target
[Service]
Type=simple
User=root
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PERLLIB=/perl
ExecStart=/bin/httpd /etc/httpd.conf
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
起動時に自動的に起動するようにしたい:
systemctl enable httpd
systemdに変更について通知し、サービスを開始します。
systemctl daemon-reload
systemctl start httpd
そして今、あなたはステータスを見ることができます:
systemctl status httpd
参照については、https://scottlinux.com/2014/12/08/how-to-create-a-systemd-service-in-linux-centos-7/を参照してください
systemd
、ほとんどの一般的なディストリビューションの標準サービスマネージャーがあなたのためにそれを行うことができます。
LinuxディストリビューションがSysV initの代わりにUpstartを使用する場合、respawn
キーワードはこれを行います。