Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14157|Відповідь: 0

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

[Копіювати посилання]
Опубліковано 23.10.2014 23:49:24 | | |

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

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