|
Veel webmasters hebben 500.502 problemen nadat ze zijn overgestapt op nginx+php-fpm. Wanneer nginx bovenstaande foutcode ontvangt, kan worden vastgesteld dat er een probleem is met de backend php-fpm parsing php, zoals een uitvoeringsfout of uitvoeringstime-out. php-fpm.conf heeft een parameter request_slowlog_timeout als volgt beschreven - ; 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
Code kopiërenWanneer request_slowlog_timeout is ingesteld op een specifieke seconde request_slowlog_timeout =5, betekent dit dat als een script langer dan 5 seconden wordt uitgevoerd, het script wordt opgenomen in het langzame logbestand
request_slowlog_timeout =0 betekent dat langzame loguitvoer is uitgeschakeld. De locatie van het langzame logbestand bevindt zich standaard in de logmap in de php-installatiemap, en je kunt dit specificeren door de parameter slowlog = log/$pool.log.slow aan te passen. Voorbeeld van een PHP-FPM langzaam logboek, het langzame logboek registreert het procesnummer, de scriptnaam, het specifieke bestand, welke regel code en welke functie te lang is om uit te voeren. - [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'
Code kopiërenrequest_slowlog_timeout en slowlog moeten tegelijk ingesteld zijn, en je moet slowlog tegelijk aanzetten als het request_slowlog_timeout - [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)
Code kopiërenLangzame logpaden moeten handmatig worden aangemaakt
Specifieke stappen om PHP-FPM langzame logging mogelijk te maken: - 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
Code kopiëren
|