ホームページ >バックエンド開発 >PHPチュートリアル >PHP ログは、開始から数秒後にエラー子がコード 0 で終了したことを報告します
以前に 502 が発生したため、ログ プロンプト
[27-May-2015 13:54:34] 警告: [pool www] がビジーのようです (pm.start_servers または pm.start_servers を増やす必要があるかもしれません。 min/max_spare_servers)、32 個の子を生成、16 個のアイドル状態、合計 602 個の子
次に、pm.start_servers パラメーターを任意に追加しました。しばらくすると、php ログ /usr/local/php/var が記録されます。 /log/php-fpm.log の情報の一部は次のとおりです:
[27-May-2015 15:13:48] 通知: [プール www] child 3998 が開始されました
[27-May-2015 15:13:59] 通知: [プール www] child 9242 は開始から 47575.960999 秒後にコード 0 で終了しました
[27-May-2015] 15:13:59 ] 通知: [プール www] 子 4210 が開始されました
[27-May-2015 15:14:42] 通知: [プール www] 子 9217 は開始から 47619.884065 秒後にコード 0 で終了しました
[27-May-2015 15:14:42] 通知: [プール www] 子 5621 が開始しました
[27-May-2015 15:14:43] 通知: [プール www] ] 子 9561 は、開始から 47620.024499 秒後にコード 0 で終了しました
その理由は、パラメーター pm.start_servers が次の式に従っていないためです:
pm .start_servers= min_spare_servers + (max_spare_servers - min_spare_servers) / 2
通常、min_spare_servers は 20 に設定されます
max_spare_servers は、サーバー自体のメモリに基づいて計算されます。標準アルゴリズムではメモリを分割します。サイズは 30M 単位
もちろん、一部の PHP プログラムは、状況によっては 30M 未満の比較的小さな量を占有する場合もあります。
私の設定は次のとおりです
コメント部分をフィルターします:
cat /usr/local/php/etc/php-fpm.conf | grep -v "^; " | grep -v "^$"
[グローバル]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
rlimit_files = 65535
events.mechanism = epoll
[www]
ユーザー = www
グループ = www
聞く= 127.0.0.1:9000
pm = 動的
pm.max_children = 1400
pm.start_servers = 710
pm .min_spare_servers = 20
pm.max_spare_servers = 1400
pm.max_requests = 10000
throwlog = log/$pool.log.slow
次にリロード
/usr/local/nginx/sbin/nginx -s reload
いいえ情報は数日間ログに表示されます。