Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 14157|Odpoveď: 0

[Web] Povolte pomalú konfiguráciu logov v nginx php-fpm (na detekciu pomaly vykonávajúcich PHP skriptov)

[Kopírovať odkaz]
Zverejnené 23. 10. 2014 23:49:24 | | |

Mnohí webmasteri majú problémy s 500 502 problémami po prechode na nginx+php-fpm. Keď nginx dostane vyššie uvedený chybový kód, dá sa zistiť, že existuje nejaký problém s backendom php-fpm pri parsovaní php, napríklad chyba pri vykonávaní alebo časový limit vykonávania.

php-fpm.conf má parameter request_slowlog_timeout opísaný takto

  1. ; The timeout for serving a single request after which a PHP backtrace will be
  2. ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
  3. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
  4. ; Default Value: 0
  5. ;request_slowlog_timeout = 0
Kopírovať kód

Keď je request_slowlog_timeout nastavený na konkrétnu sekundu request_slowlog_timeout =5, znamená to, že ak sa skript vykoná viac ako 5 sekúnd, bude zaznamenaný v pomalom logovom súbore


request_slowlog_timeout =0 znamená, že pomalý log výstup je vypnutý.

Umiestnenie slow log súboru je predvolene v priečinku log v inštalačnom adresári php a môžete ho špecifikovať úpravou parametra slowlog = log/$pool.log.slow.

Príklad PHP-FPM pomalého logu, spomalený log zaznamenáva číslo procesu, názov skriptu, konkrétny súbor, ktorý riadok kódu, ktorá funkcia je príliš dlhá na spustenie.

  1. [21-Nov-2013 14:30:38] [pool www] pid 11877
  2. script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
  3. [0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2
  4. [21-Nov-2013 14:15:23] ERROR: [pool www] 'slowlog' must be specified for use with 'request_slowlog_timeout'
Kopírovať kód

request_slowlog_timeout a slowlog musia byť nastavené súčasne a slowlog musíte zapnúť súčasne so zapnutím request_slowlog_timeout

  1. [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)
Kopírovať kód

Pomalé záznamové cesty je potrebné vytvárať manuálne


Konkrétne kroky na povolenie pomalého logovania php-fpm:

  1. cd /usr/local/lnmp/php

  2. vi etc/php-fpm.conf
  3. 去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =5;
  4. :wq
  5. 保存退出
  6. 创建慢日志目录
  7. mkdir log
  8. 重启php-fpm
  9. kill -INT `cat var/run/php-fpm.pid
  10. sbin/php-fpm
Kopírovať kód






Predchádzajúci:Pri zverejňovaní proces php-fpm okamžite dosiahne 99 % CPU, analýza chýb
Budúci:Božská komédia Chopstick Brothers "Malé jablko" Ahoj, je tu krásne dievča
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com