Настройка PHP-FPM в связке Apache2 (Ubuntu/Debian)

Как установить PHP-FPM с Apache в Ubuntu 20.04. Существует два различных варианта запуска PHP с использованием веб-сервера. Один использует CGI PHP, а другой — FPM. FPM — это менеджер процессов для управления FastCGI в PHP. Apache по умолчанию поставляется с mod_php и работает со всеми основными веб-серверами. С mod_php возникает небольшая проблема с производительностью, поскольку он блокирует процесс. В этом руководстве вы узнаете, как настроить PHP 8.2-FPM и настроить его с помощью Apache, а также настроить переменные PHP. Эту настройку также можно выполнить на других VPS, выделенных или облачных виртуальных машинах.
Убедитесь, что на вашем сервере Ubuntu/Debian установлены последние пакеты, выполнив следующую команду.

  sudo apt update

  sudo apt upgrade

Шаг 1. Установите PHP 8.2 FPM

Теперь мы установим PHP 8.2-FPM и некоторые общие модули для запуска PHP-приложения, такого как WordPress.

  sudo apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-soap php8.2-zip php8.2-bcmath -y
Проверим состояние:

  sudo service php8.2-fpm status

Шаг 2. Установите Apache

После запуска PHP-FPM вы можете установить веб-сервер Apache.

  sudo apt install apache2

Шаг 3. Настройте Apache с помощью PHP-FPM

По умолчанию Apache будет использовать mod_php, поэтому теперь вы можете настроить Apache для использования PHP-FPM. Отключите конфигурацию виртуального хоста Apache по умолчанию.

  sudo a2dissite 000-default

  sudo a2dismod php8.2

  sudo a2dismod mpm_prefork

  sudo a2enmod mpm_event proxy_fcgi setenvif

  sudo a2enconf php8.2-fpm
Если нужно, включим HTTP2

  sudo a2enmod http2

Шаг 4. Настройте PHP-FPM

Теперь мы настраиваем PHP для веб-приложений, изменив некоторые значения в файле php.ini. Для PHP 8.2 с Nginx расположение php.ini будет в следующем каталоге.

  sudo vim /etc/php/8.2/fpm/php.ini
По желанию можно оттюнингавать настройки. Будьте аккуратны!

  upload_max_filesize = 32M 
  post_max_size = 48M
  memory_limit = 256M 
  max_execution_time = 600 
  max_input_vars = 3000 
  max_input_time = 1000

  sudo service php8.2-fpm restart

Шаг 5. Настройка виртуальных хостов Apache

Создайте новую конфигурацию виртуального хоста Apache.

  sudo nano /etc/apache2/sites-available/domain.conf

  
    ServerName domain.com
    ServerAlias www.domain.com

    Protocols h2 http/1.1

    DocumentRoot /var/www/html/domain/public

    
      Options -Indexes +FollowSymLinks
      AllowOverride All
      Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined  
  


  sudo a2ensite domain.conf

  sudo service apache2 restart

Шаг 7. Проверьте PHP-FPM с помощью Apache

Здесь мы настроили /var/www/html/domain/public как корневой веб-сайт в конфигурации Apache. Итак, теперь вы можете перейти в этот каталог и создать файл phpinfo, чтобы проверить настройку.

  cd /var/www/html/domain/public

  sudo nano info.php

  <?php phpinfo();?>
Нажмите CTRL + X , затем Y и Enter , чтобы сохранить и выйти из файла. Теперь зайдите в браузер и укажите IP-адрес или доменное имя вашего сервера, а затем info.php. Итак, ваш адрес будет выглядеть так http://domain.com/info.php. Вы увидите информационную страницу PHP и подтвердите, что PHP-FPM используется с Apache.

Как установить PHP-FPM с Apache в Ubuntu / DEBIAN. Существует два различных варианта запуска PHP с использованием веб-сервера. Один использует CGI PHP, а другой — FPM. FPM — это менеджер процессов для управления FastCGI в PHP.

Как создать почту со своим доменом? Установка и настройка почтового сервера CentOS linux (Postfix) Добавление пользователя в Linux, права sudo Crypto Pro на Mac OS Мелкие проблемы и их решения DKIM на Postfix Как заказать российский SSL-сертификат для компаний через Госуслуги Сертификаты Минцифры РФ (российские сертификаты). Как установить? Как восстановить взломанный сервер VmWare *.vmdk CVE-2020-3992 / CryptoLocker Бекап на ЯндексДиск из под Linux Запись образа ISO на флешку в MacOS Как отформатировать и примонтировать зашифрованный диск в Ubuntu / Debian Asterisk подключение модемов Настройка PHP-FPM в связке Apache2 (Ubuntu/Debian) Настройка SSL/TLS соединения MariaDB / MYSQL Собираем почту с других почтовых ящиков с помощью fetchmail Как посмотреть и очистить очередь сообщений POSTFIX Резервная копия (Backup) виртуальных машин ProxMox по NFS (CentOS / Debian 12 / Ubuntu) Установка и настройка OpenVPN на Debian 12 ASTERISK 19, 20, 21 REALTIME на DEBIAN 12 Установка ASTERISK 20 / 21 из исходников на Debian/Ubuntu/Centos nginx debian12
Оставьте комментарий, задайте вопрос