Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 14157|Odpowiedź: 0

[Web] Włącz wolną konfigurację logów w nginx php-fpm (aby wykryć wolno wykonujące się skrypty PHP)

[Skopiuj link]
Opublikowano 23.10.2014 23:49:24 | | |

Wielu webmasterów ma problemy z 500 502 problemami po przejściu na nginx+php-fpm. Gdy nginx otrzyma powyższy kod błędu, można ustalić, że istnieje jakiś problem z parsowaniem php php przez backend, na przykład błąd wykonania lub timeout wykonywania.

php-fpm.conf ma parametr opisany request_slowlog_timeout w ten sposób

  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
Skopiuj kod

Gdy request_slowlog_timeout jest ustawione na określoną sekundę request_slowlog_timeout =5, oznacza to, że jeśli skrypt jest wykonywany dłużej niż 5 sekund, zostanie zarejestrowany w pliku slow log


request_slowlog_timeout =0 oznacza, że wolne wyjście logów jest wyłączone.

Lokalizacja pliku slow log znajduje się domyślnie w folderze log w katalogu instalacyjnym php i można to określić, modyfikując parametr slowlog = log/$pool.log.slow.

Przykład PHP-FPM Slow Log, wolny log zapisuje numer procesu, nazwę skryptu, konkretny plik, który wiersz kodu oraz która funkcja jest zbyt długa do wykonania.

  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'
Skopiuj kod

request_slowlog_timeout i slowlog muszą być ustawione jednocześnie, a wolny ruch trzeba włączać jednocześnie z włączaniem 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)
Skopiuj kod

Wolne ścieżki logów trzeba tworzyć ręcznie


Konkretne kroki umożliwiające powolne logowanie 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
Skopiuj kod






Poprzedni:Podczas publikacji proces php-fpm natychmiast dociera do 99% CPU, analiza błędów
Następny:Boska komedia Chopstick Brothers "Małe Jabłko" Cześć, jest piękna dziewczyna
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com