#Что означает ошибка
Мониторинг PHP-FPM
Страница статуса показывает число активных процессов и очередь. Включите pm.status_path и ограничьте доступ.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Не включена | Нет страницы. Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Включите. Посмотрите соответствующие настройки и журнал сервиса. |
| Нет location | Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Добавьте. |
| Открыт всем | Прочитайте относящуюся к этому компоненту запись в журнале до изменения конфигурации. | Ограничьте. |
| Нет прав | Сравните полномочия текущей учётной записи и доступность нужной функции; на рабочем компьютере политики задаёт администратор. | Настройте. Посмотрите соответствующие настройки и журнал сервиса. |
#Пошаговое решение
- Включите pm.status_pathНайдите действующую конфигурацию пула PHP-FPM, обслуживающего сайт, и откройте её с правами администратора. Проверьте, не задан ли уже
pm.status_path: у разных сайтов может быть собственный путь. Перед изменением сделайте копию файла и узнайте, как веб-сервер передаёт запросы в этот пул. - Настройте locationВ нужном пуле можно задать
pm.status_path = /fpm-statusи, при поддержке вашей версии, отдельный слушательpm.status_listen; второй полезен, когда обычный пул занят. Не размещайте открытый путь статуса в Интернете: он сообщает нагрузку и сведения о процессах. - Ограничьте доступНастройте в Nginx или Apache точное сопоставление пути статуса с нужным PHP-FPM и ограничьте доступ локальным адресом, VPN или административной сетью, дополнительно проверив доступ через внешний адрес. Не используйте произвольный
fastcgi_pass: он должен совпадать с реальным адресом слушателя. - Проверьте альтернативу: нет правПроверьте синтаксис конфигураций PHP-FPM и веб-сервера, затем примените изменения в согласованное окно. Откройте страницу статуса с разрешённого IP и проверьте показатели active/idle processes, listen queue и max children reached; с постороннего адреса должен быть отказ. Удалите временный публичный доступ после диагностики.
#Если не помогло
Ограничьте доступ к статусу по IP или аутентификации.
#Проверка результата
Для «PHP-FPM: как включить страницу статуса pm.status_path» выполните штатную проверку конфигурации, затем один контрольный запрос к сервису. Сверьте его результат с журналом и убедитесь, что пользователи не получили новых ответов 4xx или 5xx после изменения.