Рейтинг:1

php7.4-fpm/Apache2: Загрузка страницы состояния PHP FPM?

флаг gb

Я пытаюсь, чтобы моя страница состояния php7.4-fpm отображалась по URL-адресу. Я использую сервер Apache 2.4.41. Вместо этого я получаю «Файл не найден». ошибка.

Вот что я сделал. Сначала я редактировал:

/etc/php/7.4/fpm/pool.d/www.conf

Я раскомментировал и отредактировал две строки:

pm.status_path = /статус
пинг.путь = /пинг

Затем я перешел к файлу конфигурации apache моего сайта:

/etc/apache2/sites-enabled/mywebsite.com.conf

и добавил строки:

<VirtualHost *:443>
  ServerAlias mywebsite.com
  DocumentRoot /home/mywebsite/mywebsite.com

  # added these lines to get the php status page to show up
  <LocationMatch "/(ping|status)">
    SetHandler "proxy:unix:/run/php/php7.4-fpm.mywebsite.sock|fcgi://localhost/status"
  </LocationMatch>

</VirtualHost>

Кажется, что это должна быть простая настройка, но я потратил часы, безуспешно пытаясь заставить страницу состояния работать для диагностики необъяснимых проблем php-fpm, которые начались несколько дней назад, когда все процессы php-fpm используются на всех веб-сайтах. .

Теперь я смирился с игрой в дробовик, пробуя разные обработчики в попытке заставить что-то работать:

SetHandler "прокси:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/status"
SetHandler "прокси:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
SetHandler "прокси:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
SetHandler "прокси:unix:/run/php/php7.4-fpm.mywebsite.sock|fcgi://localhost"

Если я попробую "proxy:unix:/run/php/php7.4-fpm.sock", который на самом деле прослушивает www.conf, я получу 503 Service Unreachable.

Если я попытаюсь использовать сокет своего веб-сайта «proxy:unix:/run/php/php7.4-fpm.mywebsite.sock», страница действительно загрузится, но просто покажет «Файл не найден», и это не имеет значения. если это «fcgi://localhost/status» или «fcgi://localhost». Я не знаю, в чем дело.

Рейтинг:0
флаг gb

Сделав перерыв и поев, я понял это за считанные минуты. Если у кого-то еще есть такая же проблема, вы должны отредактировать конфигурацию пула вашего отдельного сайта, а не [www].

/etc/php/7.4/fpm/pool.d/mywebsite.conf

Затем добавьте к этому:

pm.status_path = /статус
пинг.путь = /пинг

В моем случае я никогда не использую www.conf. Вместо этого у меня есть настройка VPS, где у каждого сайта есть собственный пул, а apache просто не использует www.conf.

Следующим шагом является использование сокета, соответствующего конфигурации пула вашего отдельного сайта, например, для вашего Apache:

прокси:unix:/run/php/php7.4-fpm.mywebsite.sock|fcgi://localhost/status

sudo systemctl перезагрузить php7.4-fpm
sudo systemctl перезагрузить apache2

Спасибо, что посмотрели. Я, вероятно, снова наткнусь на свой собственный пост несколько лет спустя, так что для себя в будущем, вот как это делается. Не забудьте использовать URL https://www.mywebsite.com/status?полный для полного списка каждого отдельного процесса, а не только для сводки.

Ответить или комментировать

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