php-fpm /status file not found

OS: Ubuntu 20.04.2 Webserver: Nginx 1.18.0 PHP: 8.0.5


Я хотел активировать страницу /status для PHP-FPM и попробовал следующее:

  • В /etc/php/8. 0/fpm/pool.d/, я добавил строку pm.status_path = /status в файл пула сайта, который я хочу контролировать.
  • В блоке Nginx-сервера сайта я добавил следующее:
    location ~ ^/(status|ping)$ {
      access_log off;

      # allow 127.0.0.1;
      # allow 1.2.3.4;
      # deny all;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_index index.php;
      include fastcgi_params;
      ## Now the port or socket of the php-fpm pool we want the status of
      fastcgi_pass localhost:8000;
      # fastcgi_pass unix:/run/php-fpm/your_socket.sock;
    }
  • Перезагрузил и перезапустил php8.0-fpm и nginx

Но когда я пытаюсь получить доступ к https://example.com/status (example.com является репрезентативным) или свернуть URL, я получаю сообщение "файл не найден".

Как мне активировать и отобразить страницу /status?


N.B. Тестовый сервер, поэтому я закомментировал allow и deny.

0
задан 3 May 2021 в 23:35

1 ответ

У меня было много проблем с этим на протяжении многих лет. Часто щелкая в GNOME GUI оставлял меня все еще не в состоянии получить звуковой ввод работает. Необходимо (1) выбрать правильный вход, (2) получить коэффициент усиления в набор с чем-то разумным, а затем (3) проверить, что он действительно работает.

Тестирование с помощью функции «Дерзость» не обязательно работает, поскольку меню программы «Дерзость» чрезвычайно затрудняет определение выбранного вами микрофона. В Preferences есть меню, которое на моем настольном компьютере очень длинное, и имена не имеют смысла или не связаны с реальностью, например, у меня есть по умолчанию: Front Mic:0, который на самом деле, кажется, выбирает USB микрофон, который я подключил к задней части машины.

Есть две звуковые системы в Linux, alsa и pulseaudio (PA). Возможно, вы оба бежите, один поверх другого. Alsa низкоуровневая, и управляется командами, как amixer. Pulseaudio является программным микшером и управляется pacmd. Интерфейсы GUI могут обеспечивать ползунки или ручки, но может быть трудно выяснить, манипулируют ли они усилением в Alsa или в PA. Старое программное обеспечение, такое как Amixer, предшествовало PA, поэтому оно не поможет вам, если ваша прибыль установлена слишком низкой в PA.

Следующая команда сообщит вам, какие микрофоны у вас есть:

pacmd list-sources | grep name:

(Обратите внимание на двоеточие в конце.) В моей системе вывод выглядит следующим образом:

name: <alsa_input.usb-046d_HD_Webcam_C615_F8E031B0-00.mono-fallback>
name: <alsa_input.usb-C-Media_Electronics_Inc._TONOR_TC-777_Audio_Device-00.mono-fallback>
name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
name: <alsa_input.pci-0000_00_1b.0.analog-stereo>

Первые два имени легко идентифицировать как USB-веб-камеру и USB-микрофон, которые я подключил. Если вы используете «тупой» ввод, как phono plug, то он не будет идентифицирован так четко. Возможно, это и есть «аналогово-стерео» линия.

Ниже приведен сценарий оболочки, написанный мною, который выбирает нужный микрофон и устанавливает его выигрыш на 100%.

#!/bin/sh

# Select the Tonor mic and set it to 100% volume:
pacmd "set-default-source alsa_input.usb-C-Media_Electronics_Inc._TONOR_TC-777_Audio_Device-00.mono-fallback"
pacmd "set-source-volume alsa_input.usb-C-Media_Electronics_Inc._TONOR_TC-777_Audio_Device-00.mono-fallback 65000"

Программное обеспечение видеоконференций, такое как зумирование, по умолчанию попытается настроить усиление микрофона автоматически и без запроса разрешения. Иногда это становится неправильным, что ломает звук. Вы можете отключить эту ошибку, но большинство людей не знают, что она существует. Запуск сценария повторно активирует звук, когда звук был нарушен по этой причине, но лучше просто деактивировать функцию.

Чтобы убедиться, что это действительно работает, попробуйте выполнить следующие действия:

arecord -l

Определите часть выходного сигнала вашего микрофона, например:

card 3: Device [TONOR TC-777 Audio Device], device 0: USB Audio [USB Audio]

Это означает, что это карта 3, устройство 0. Затем:

arecord -f S16_LE --device="hw:3,0" temp.wav

Это должно записать звук в temp.wav. Когда закончите запись, нажмите на управление-C. Вы можете убедиться, что он работал, проигрывая звук с помощью aplay или открывая файл в дерзости.

-121--915049-

Решение:
Для каждого файла застежки -молнии я получаю имя файла и «SUBJECT» с помощью awk. После извлечения предмета создаю каталог с именем и перемещаю в него файл. Потому что это бешеный сценарий, я могу легче использовать необходимые переменные.

#!/bin/bash
for file in *.zip
do
    filename=$(basename "$file")
    dirname=`echo "$filename" | awk -F"[][]" '{print $2}'`
    mkdir -p "$dirname" &&
    mv -iv "$file" "$dirname"
done
-121--915057-

Мне удалось сделать это, напрямую привязав fastcgi _ param к файлу status.html , изменив следующую строку:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

На эту:

fastcgi_param SCRIPT_FILENAME /usr/share/php/8.0/fpm/status.html;

И страница состояния, наконец, работает сейчас.

Не совсем уверен, почему $ document _ root $ fastcgi _ script _ name не соответствует соответствующему пути.

0
ответ дан 7 May 2021 в 17:40

Другие вопросы по тегам:

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