nginx php-fpmでスローログ構成を有効にする(実行が遅いPHPスクリプトを検出するために使用)

1968 ワード

多くの駅長はnginx+php-fpmに移動した後、500502の問題に悩まされた.nginxが上記のエラーコードを受信すると、バックエンドphp−fpm解析phpに何らかの問題が発生したと判断することができ、例えば、エラーを実行し、タイムアウトを実行する.
php-fpm.confのプロファイルにパラメータrequest_がありますslowlog_timeoutはこう述べています
 
  
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0

request_slowlog_timeoutが特定の秒に設定された場合request_slowlog_timeout=5は、どのスクリプトの実行時間が5秒より大きい場合、このスクリプトがスローログファイルに記録されるかを示します.
request_slowlog_timeout=0はスローログ出力をオフにすることを示します.
スローログファイルの場所はphpのインストールディレクトリの下のlogフォルダにデフォルトで、slowlog=log/$poolを変更することができます.log.slowパラメータで指定します.
php-fpmスローログの例では、スローログにはプロセス番号、スクリプト名、どのファイルのどの行のコードのどの関数が実行時間が長すぎるかが記録されます.

   [21-Nov-2013 14:30:38] [pool www] pid 11877 
  
script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
[0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2

[21-Nov-2013 14:15:23] ERROR: [pool www] 'slowlog' must be specified for use with 'request_slowlog_timeout'


request_slowlog_timeoutとslowlogは同時に設定し、request_を開く必要があります.slowlog_timeoutと同時にslowlogをオンにする必要があります
 
  
[21-Nov-2013 14:16:27] ERROR: Unable to create or open slowlog(/usr/local/lnmp/php/log/www.log.slow): No such file or directory (2)

スロー・ログ・パスは手動で作成する必要があります
php-fpmスローログステップを具体的に開きます.
 
  
cd /usr/local/lnmp/php

vi etc/php-fpm.conf
request_slowlog_timeout 、slowlog ';', request_slowlog_timeout =5;

:wq


mkdir log

php-fpm
kill -INT `cat var/run/php-fpm.pid
sbin/php-fpm