/ страница состояния PHP-FPM доступа вручную (обходят Apache),

Вы обеспечили много данных, но я думаю, что еще больше было бы необходимо для предоставления некоторой оценки на том числе. В первую очередь, какое дублирование присутствует в Вашей системе? Другими словами, у Вас есть 4 набора 500 вещей, каждое выполнение точно та же конфигурация сервера? Или у Вас есть 200 различных серверов/сервисов и только 10 полей, выполняющих каждую вещь.

Я думаю, что необходимо перейти к основному уровню каждого обслуживания, определить операции, необходимые для поддержки того сервиса, затем укомплектовать его соответственно. Так как у Вас ясно будет некоторое дублирование экспертных знаний через многочисленные услуги, Вы можете консолидировать свое количество головок на основе этого, но я запустил бы вверх дном, а не возглавил бы вниз.

9
задан 31 January 2012 в 22:48
2 ответа

Чтобы загрузить страницу / status, у вас должны быть установлены определенные переменные среды, в частности: SCRIPT_NAME , SCRIPT_FILENAME , QUERY_STRING и REQUEST_METHOD . Вам не нужен DOCUMENT_ROOT (даже для обычного запроса).

В правильном пуле (это не глобальная настройка) вашего набора конфигурации php-fpm (или раскомментируйте):

pm.status_path = /status

Затем run (заменяющий PORT):

SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

Пример вывода:

X-Powered-By: PHP/5.3.9
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Content-Type: text/plain

pool:                 web1
process manager:      dynamic
start time:           28/Jan/2012:20:49:44 -0500
start since:          5955
accepted conn:        41
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       1
active processes:     1
total processes:      2
max active processes: 1
max children reached: 0

Примечание: результаты зависят от пула.

Протестировано в системе RHEL / CentOS 6 с PHP v5.3.9.

(Боковое упоминание для людей с использованием CentOS - пакет, который предоставляет cgi-fcgi , называется fcgi и доступен в EPEL)

Кроме того, то же самое можно сделать с помощью команды ping:

Установить: пинг. path = / ping (php-fpm config)

SCRIPT_NAME=/ping\
SCRIPT_FILENAME=/ping\
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

Или для обычного файла PHP (вы должны использовать полный путь, QUERY_STRING не является обязательным):

SCRIPT_NAME=/test.php \
SCRIPT_FILENAME=/var/www/path/to/test.php \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT
12
ответ дан 2 December 2019 в 22:30

В более новой Ubuntu (например. 20), установите пакет libfcgi-bin apt install libfcgi-bin, чтобы получить команду cgi-fcgi.

0
ответ дан 22 November 2021 в 03:34

Теги

Похожие вопросы