最近サーバー上に Nginx 502 Bad Gateway が時々表示されます。コンピューターの隣にある場合は問題ありませんが、どうすればよいですか。それが夜中に起こったり、外出したりした場合はどうしますか?
どうでもいいので、サービスの状態を検知して異常を見つけて自動的に再起動するスクリプトを書いてください。
自動再起動スクリプト:
コードをコピーします コードは次のとおりです:
$url = 'http://blog.rebill.info';
$cmd = '/usr/local/php/sbin/php-fpm 再起動';
for($i = 0; $i < 5; $i ++){
$exec = "curl connect-timeout 3 -I $url 2>/dev/null";
$res = シェル_exec($exec);
If(stripos($res, '502 不正なゲートウェイ') !== false){
shell_exec($cmd);
終了();
}
}
原則として、curl を使用して HTTP ヘッダーを取得し、502 ステータス コードが見つかったら、コマンドを実行して php-fpm を再起動します。
実際の状況に応じて、URL と cmd を独自のものに変更します。次に、それを crontab に配置し、1 分に 1 回実行します。
コードをコピーします
コードは次のとおりです:
*/1 * * * * /usr/bin/php /root/crontab/nginx502.php
これで完了です。
http://www.bkjia.com/PHPjc/998803.html
true