|
Sok webmestert 500 502 probléma zavar, miután átváltottak nginx+php-fpm-re. Amikor a nginx megkapja a fenti hibakódot, megállapítható, hogy valamilyen probléma van a háttérben a php-fpm elemzés php-vel, például végrehajtási hiba vagy végrehajtási időtúlzás. A php-fpm.conf paramétert tartalmaz, request_slowlog_timeout így van leírva - ; 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
Kód másolásaHa request_slowlog_timeout egy adott másodpercre van beállítva, request_slowlog_timeout =5, az azt jelenti, hogy ha egy szkriptet, 5 másodpercnél tovább futtatják, a szkript a lassú naplófájlba kerül
request_slowlog_timeout =0 azt jelenti, hogy a lassú napló kimenet ki van kapcsolva. A slow log fájl helye alapértelmezés szerint a php telepítési könyvtár log mappájában van, és ezt a slowlog = log/$pool.log.slow paraméter módosításával meg lehet határozni. PHP-FPM lassú napló példája, a lassú napló rögzíti a folyamat számát, a szkriptnevüket, a konkrét fájlt, melyik kódsort, melyik függvény túl hosszú a végrehajtáshoz. - [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'
Kód másolásarequest_slowlog_timeout és a slowlog egyszerre kell beállítani, és a slowlogot egyszerre kell bekapcsolni, miközben bekapcsolod a slowlogot a 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)
Kód másolásaA lassú naplóutakat kézzel kell létrehozni
Konkrét lépések a php-fpm lassú naplózás engedélyezéséhez: - 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
Kód másolása
|