Как настроить Apache HTTP на PHP-FPM на Ubuntu 20.10

Я следовал указаниям из здесь , чтобы переключить запись API сервера будет FPM/FastCGI.from Обработчик серверного API Apache 2.0. Когда включена mpm_event и a2dismod php7.4, phpinfo.php показывает только:

<?php phpinfo(); ?>

Статус Apache:

Apache Server Status for localhost (via 127.0.0.1)

   Server Version: Apache/2.4.46 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1f

   Server MPM: event

   Server Built: 2020-11-13T01:36:38

     ----------------------------------------------------------------------

   Current Time: Saturday, 27-Feb-2021 13:08:50 EST

   Restart Time: Saturday, 27-Feb-2021 13:05:50 EST

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 3 minutes

   Server load: 0.80 0.95 1.07

   Total accesses: 14 - Total Traffic: 190 kB - Total Duration: 10069

   CPU Usage: u0 s.05 cu0 cs0 - .0278% CPU load

   .0778 requests/sec - 1080 B/second - 13.6 kB/request - 719.214 ms/request

   1 requests currently being processed, 49 idle workers

   +------------------------------------------------------------------------+
   |    |     |        |Connections    |Threads  |Async connections         |
   |Slot|PID  |Stopping|---------------+---------+--------------------------|
   |    |     |        |total|accepting|busy|idle|writing|keep-alive|closing|
   |----+-----+--------+-----+---------+----+----+-------+----------+-------|
   |0   |46738|no      |0    |yes      |1   |24  |0      |0         |0      |
   |----+-----+--------+-----+---------+----+----+-------+----------+-------|
   |1   |46739|no      |0    |yes      |0   |25  |0      |0         |0      |
   |----+-----+--------+-----+---------+----+----+-------+----------+-------|
   |Sum |2    |0       |0    |         |1   |49  |0      |0         |0      |
   +------------------------------------------------------------------------+

 _______________W__________________________________..............
 ................................................................
 ......................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

Если я включу php7.4 и снова включу mpm_prefork, то он восстановит обработчик Apache 2.0. Что-то не так, что я делаю?

Последняя заметка: частично работает, но PHP-страницы все еще отображаются некорректно.

PHP-страницы теперь отображаются корректно, и тест соединения MySQL работает. После того, как я ввел a2enmod php7.4, который должен был переключиться на Обработчик серверного API Apache 2.0 получил ошибку ниже, но переключился на FPM/FastCGI.

Кроме того, что здесь захватывается для будущих ссылок, это было 3 ночи работы: включение/выключение модулей, конфликты зависимостей, обновления, конфигурации и протоколирование. Copy&Paste из других постов всегда отстой. Спасибо!

SOLVED

a2enmod php7.4
    Considering dependency mpm_prefork for php7.4:
    Considering conflict mpm_event for mpm_prefork:
    ERROR: Module mpm_event is enabled - cannot proceed due to conflicts. It needs to be disabled first!
    Considering conflict mpm_worker for mpm_prefork:
    ERROR: Could not enable dependency mpm_prefork for php7.4, aborting

enter image description here

1
задан 28 February 2021 в 03:36

1 ответ

Настройка PHP-FPM с Apache намного сложнее, чем просто установка FPM и обеспечивает несколько вещей. Для установки могут быть установлены дополнительные модули (FastCGI), которые могут быть установлены и отключены.

достаточно весеннее, руководство по цифровому океану для использования событий MPM и PHP-FPM через FastCGI на Apache с Ubuntu 18.04 по-прежнему относительно хорошая точка выключения для конфигураций этой настройки, мы просто должны Настроить некоторые вещи и отрегулируйте биты для некоторых изменений от 18,04 до 20,04. Инструкции ниже основаны на руководстве DO, но с необходимыми настройками для работы FPM работают в 20.04, адаптирующие версии PHP и т. Д. И дают вам только команды.

Шаг 1: Изменение многоперерабатывающего модуля

Модуль PHP7.4 в Apache является встроенным , к сожалению, он не работает для PHP-FPM. Поэтому нам нужно сделать некоторую работу, чтобы сделать эту работу.

Во-первых, останавливайте Apache, пока мы создаем настройки на конфиги

sudo systemctl stop apache2

, затем отключите встроенный модуль PROFORK PHP 7,4

sudo a2dismod php7.2

отключить модуль для приготовления приготовления.

sudo a2dismod mpm_prefork

Включите модуль MPM события

sudo a2enmod mpm_event

Теперь мы настраиваем компоненты PHP, которые довольно простым ...

Шаг 2: Настройте менеджер Apache FastCGI с PHP

Если вы еще этого не сделали, установите PHP FPM

sudo apt install php-fpm

Установите модуль FCGI для Apache

sudo apt install libapache2-mod-fcgid

Включить необходимые библиотеки и модули

a2enmod proxy_fcgi setenvif

Включить конфигурацию модуля PHP-FPM (которая уже будет присутствовать)

sudo a2enconf php7.4-fpm

Теперь нам нужно убедиться, что синтаксис пропускается в вашем конфигурация

Шаг 3: Убедитесь, что конфигурация проходит тесты.

Запустите эту команду:

sudo apachectl configtest

Эта команда может выпрыгивать нашей информации, такой как это, но до тех пор, пока «синтаксис ОК» является выходом, который вы хороши (запускаются из тестируемого контейнера / среды, игнорируют ошибку AH00558, если Он проявляется и беспокоит только о выходе «синтаксиса OK»):

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.73.252.124. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Теперь этот тест Config пропускал ...

Шаг 4: повторное включение службы Apache

sudo systemctl restart apache2

Теперь вы должны снова получить PHP, кроме С службой FPM. И PHP-файлы должны работать снова.

Nuke Ваш кэш браузера перед тестированием, хотя - веб-браузеры печально известны сообщения об ошибках кэширования.


Если вы все сделали здесь, вы должны увидеть PHP, работаю как ожидалось - это phpinfo на моем тесте ENV работает 20.04:

enter image description here

1
ответ дан 18 March 2021 в 23:30

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

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