Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 14157|Odpověď: 0

[Web] Povolte pomalou konfiguraci logů v nginx php-fpm (pro detekci pomalu spouštějících PHP skriptů)

[Kopírovat odkaz]
Zveřejněno 23.10.2014 23:49:24 | | |

Mnoho správců webů má po přechodu na nginx+php-fpm problémy s 500 502 problémy. Když nginx obdrží výše uvedený chybový kód, lze zjistit, že existuje nějaký problém s backendem php-fpm při parsování php, například chyba při spuštění nebo časový limit vykonání.

php-fpm.conf má parametr, request_slowlog_timeout popsán 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írovat kód

Když je request_slowlog_timeout nastaveno na konkrétní sekundu request_slowlog_timeout =5, znamená to, že pokud je skript vykonán déle než 5 sekund, bude zaznamenán v pomalém logu


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

Umístění slow log souboru je ve výchozím nastavení ve složce log v instalačním adresáři php a můžete ji specifikovat úpravou parametru slowlog = log/$pool.log.slow.

Příklad pomalého logu PHP-FPM, pomalý log zaznamená číslo procesu, název skriptu, konkrétní soubor, který řádek kódu a kterou funkci je příliš dlouhá na vykonání.

  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írovat kód

request_slowlog_timeout a slowlog musí být nastaveny současně a slowlog je třeba zapnout současně se 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írovat kód

Pomalé logovací cesty je potřeba vytvářet ručně


Konkrétní kroky pro povolení pomalého logování 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írovat kód






Předchozí:Při zveřejňování proces php-fpm okamžitě zasáhne 99 % CPU, analýza chyb
Další:Božská komedie Chopstick Brothers "Malé jablko" Ahoj, je tu krásná dívka
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com