2011-10-24 5 views
1

OK、nginx + php fastcgiを使用しているので、私たちは技術的な問題が発生しているというカスタムエラーページを訪問者に見せる必要があります?Nginx/Apacheが別のウェブサーバーの状態を確認する(オンライン/オフライン)

8080にリッスンし、HttpHealthcheckモジュールでステータスを確認している別のnginxサーバーに80としてnginxをインストールする必要がありますか?

答えて

1

あなたはこれをチェック、バックエンドサーバーをチェックするためにサードパーティのアドオンが必要になる:http://wiki.nginx.org/HttpHealthcheckModule

バックエンドがダウンしている場合は、nginxのは502エラーに答えて、あなたはそれのためにカスタムページを設定することができます。

error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
    root /usr/share/nginx/html; 
} 

新しい答え:)

私はそのためhaproxy(http://haproxy.1wt.eu/)を使用します。バックエンドとして

あなたのフロントエンドがポート80でリッスンとしてhaproxy、およびnginxの+ PHP-FPM

HAProxyをインストールする:(設定を確認し、スクリプトを編集)

make TARGET=linux26 CPU=x86_64 
cp haproxy /usr/sbin/haproxy 
wget http://layer1.rack911.com/haproxy/haproxy-standard.cfg -O /etc/haproxy.cfg 
wget http://layer1.rack911.com/haproxy/haproxy.init -O /etc/init.d/haproxy 
chmod +x /etc/init.d/haproxy 

haproxy.cfg(Iのdidnグローバル/デフォルトのセッションを含める'T)

frontend webserver-80 
     bind <ip>:80 
     option forwardfor 
     option http-server-close 
     default_backend backend-nginx 

backend backend-nginx 
     #balance roundrobin 
     balance source 
     option httpchk GET /fpm_ping 
     server srv1 <ip>:<port> weight 1 check 
     errorfile 503  /etc/errors/503_noserver.txt 
(http://code.google.com/p/hatop/)UTIL

チェックhatopかそこらあなたはhaproxyにチェックすることができhaproxy.cfgする統計情報のセッションを含めますstat私たち... /etc/nginx/nginx.confで

listen stats :<port> 
     balance 
     mode http 
     stats enable 
     stats auth admin:admin 
     stats uri/
#  option httplog 

ping要求に応える(または他のチェックにそれを変更)するように設定するのphp-FPM

location /fpm_ping { 
    access_log  off; 
    allow   <ipaddr/cidr>; 
    allow   127.0.0.1; 
    deny   all; 
    root   html; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_index index.php; 
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; 
    include  fastcgi_params; 
} 

オン/ etc/php-fpm.d/www.confのinclude/uncomment

ping.path = /fpm_ping 
ping.response = pong 
+0

状況が少し変わったので私は最初の質問を編集しました。 – Eduard

+0

便利な郵便配達員。私はワニス/ nginx/php-fpmを実行するサーバーを持っています。ステータスを監視するには、うまく動作するuptimerobotを使用しますが、いくつかの欠点があります。ウェブサイトがアップまたはダウンしているかどうかだけチェックします。この方法は、あなたのすべてのhttpアプリの状態にできるだけ柔軟に対応します。状況を監視し、状況が悪化したときに私に電子メールを送り返す小さなDotCouldアプリをセットアップします。 –

関連する問題