CentOS 5.2での再起動時にmongrel_clusterを起動するために、 このCentOS 5.2 Mongrel Clusterチュートリアル に従いました。ただし、再起動時に手動でmongrel_clusterを起動する必要があります。
それがうまくいかなかったので、私は Mongrelをサービスとしてセットアップし、Centos 5.2で自動的に開始する のアドバイスに従いました。重要なビットは次のとおりです。
chkconfig -add mongrel_cluster
chkconfig –level 345 mongrel_cluster on
繰り返しますが...これは機能しません。起動時に手動でmongrel_clusterを起動する必要があります。最後に、crontabに「@reboot ...」を次のように追加してみました。
Rails_ROOT=/path/to/root
# Restart Ferret Drb server on Host reboot:
@reboot ${Rails_ROOT}/script/ferret_server --root=${Rails_ROOT} -e production start
# Restart Rails apps (via Mongrel) on Host reboot:
@reboot /etc/init.d/mongrel_cluster start
しかし、もう一度... MongrelとFerretの両方を手動で再起動する必要があります!
最後に、 再起動時にDRbサーバーを起動する方法(linux) の手順に従いましたが、再起動時に手動でFerretDRbを起動する必要があります...
これは私の最初のシステム管理者のギグなので、どのログファイルを見るのかさえわかりません...さらに情報が必要な場合は、私を助けて、どこを見ればよいか教えてください!
別の質問 への答えは私にうまくいったように見える考えを与えました。 / etc/rc.localファイルに以下を追加しました:
# ... and restart Mongrel
su - MyUserName -c "/etc/init.d/mongrel_cluster start"
# ... and restart ferret
su - MyUserName -c "cd /path/to/Rails_root && ./script/ferret_server --root=/path/to/Rails_root -e production start"
...そしてワミー! Mongrel&FerretDRbサーバーが再起動しているようです。
システムがシャットダウンしているときに呼び出す対応するスクリプトはありますか(つまり、mongrel_clusterとferret_serverを適切に強制終了します)?
ピート-rcスクリプトで同様のコマンドを使用すると、いつでもmongrel_clusterを停止できます。
su - YourUserName -c "/etc/init.d/mongrel_cluster stop"
これは、標準のinitrcスクリプト処理です。通常、「/ etc/init.d/scriptname」の後には、少なくとも「start」stopのいずれかを続けることができます。 'または' restart '(最後のコマンドは、ほとんどの場合、スクリプトのstopセクションの後にstartスクリプトを実行しようとします。
ただし、これを行う必要はありません。システムがシャットダウンすると、実行中のすべてのプロセスに終了信号が送信されます。これは、シャットダウン時に正常に終了する必要があることを意味します。 CentOSにデフォルトで記録されているかどうかはわかりませんが、シャットダウン時に端末の出力でこれを確認できます。 (雑種またはフェレットがログを作成するように構成されている場合を除く)
お役に立てば幸いです。