Wordpress と nginx を使用する大規模なサイトにハートビート ツールをインストールするための便利なリンク、ヒント、またはスクリプトはありますか。あまりにも多くの人が同時にそのサイトにアクセスすると、サーバーがシャットダウンします。その直後にサイトを自動的に再起動するものが必要です。
よろしく
あなたの質問は、502 で PHP を再起動する方法です。私の最初の答えは、そもそも 502 が発生しないようにする試みです。
PHP が大量のメモリを消費している可能性があります。私の推測では、PHP FCGI の子の数の設定が高すぎます。init スクリプトには、開始する PHP プロセスの量を制御する PHP_FCGI_CHILDREN=20 などのエントリが必要です。数を減らしてみます。PHP プロセスごとの平均メモリを特定できる場合 (おそらく top を使用)、実行する必要がある PHP プロセスの最大数を確立できます。たとえば、2,000MB のサーバーがあり、PHP プロセスがそれぞれ最大 100MB を消費する場合、それらを 20 に制限する必要があります。
別の場所を作成して、名前を @ 記号で始めることができます。@ 記号は「内部」の場所に使用されます。nginxのhttp://openresty.orgディストリビューションを使用するのが好きです。ngx_lua http://wiki.nginx.org/HttpLuaModuleモジュールが含まれています。Lua は、(とりわけ) シェル コマンドを実行できるスクリプト言語です。例えば:
location / {
error_page 502 = @php502error;
}
location @php502error {
content_by_lua 'os.execute("/bin/restart-my-php-processes.sh")';
}
os.execute
はブロックされているので、そのことを念頭に置いておく必要があります... スクリプトを実行するために thttpd を設定している人たちの話を聞いたことがあります。したがって、@php502error の場所で proxy_pass を実行します。