Как установить 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.