Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 14157|Ответ: 0

[Веб] Включите медленную конфигурацию логов в nginx php-fpm (для обнаружения медленно выполняющихся PHP-скриптов)

[Скопировать ссылку]
Опубликовано 23.10.2014 23:49:24 | | |

Многие веб-мастера сталкиваются с 500 502 проблемами после перехода на nginx+php-fpm. Когда nginx получает вышеуказанный код ошибки, можно определить, что существует какая-то проблема с разбором php между php-fpm, например, ошибка выполнения или тайм-аут выполнения.

php-fpm.conf имеет параметр request_slowlog_timeout описанный следующим образом

  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
Копирование кода

Когда request_slowlog_timeout установлен на определённую секунду request_slowlog_timeout =5, это означает, что если скрипт выполняется более 5 секунд, он будет записан в медленный файл журнала


request_slowlog_timeout =0 означает, что медленный логарифмический выход отключается.

Местоположение файла медленного журнала по умолчанию находится в папке log в каталоге установки php, и вы можете задать его, изменив параметр slowlog = log/$pool.log.slow.

Приклад медленного журнала PHP-FPM: медленный журнал записывает номер процесса, имя скрипта, конкретный файл, какая строка кода и какая функция слишком длинна для выполнения.

  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'
Копирование кода

request_slowlog_timeout и slowlog нужно настраивать одновременно, а также включать slowlog одновременно с включением 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)
Копирование кода

Медленные лог-пути нужно создавать вручную


Конкретные шаги для включения медленного логирования 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
Копирование кода






Предыдущий:При публикации процесс php-fpm мгновенно достигает 99% процессора, анализ ошибок
Следующий:Божественная комедия братьев Чопстик «Маленькое яблоко». Привет, там красивая девушка
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com