Введение
Apache и PHP-FPM широко используются в веб-разработке для обслуживания динамического контента. В то время как Apache является наиболее популярным веб-сервером, используемым сегодня, PHP-FPM — это менеджер процессов FastCGI, который обеспечивает более быстрый и эффективный способ обработки запросов PHP. Их комбинация может значительно улучшить производительность веб-сайта.
PHP-FPM (FastCGI Process Manager) — это система для эффективного и масштабируемого запуска PHP-скриптов. Вместо того, чтобы запускать каждый запрос PHP как отдельный процесс, PHP-FPM использует пул предварительно запущенных процессов PHP, которые могут обрабатывать несколько запросов одновременно.
PHP-FPM работает как сервер FastCGI, что означает, что его можно использовать с веб-сервером, таким как Apache или Nginx. Когда веб-сервер получает запрос PHP, он передает запрос PHP-FPM, который затем обрабатывает запрос и возвращает результат веб-серверу.
PHP-FPM известен своей высокой производительностью и способностью обрабатывать большие объемы веб-трафика. Кроме того, поскольку он использует пул предварительно запущенных процессов PHP, PHP-FPM может справляться с пиками трафика без замедления или прерывания обслуживания. Эта масштабируемость делает его подходящим для веб-приложений с интенсивным трафиком и рабочей нагрузкой.
В этой статье мы предоставим пошаговое руководство по установке Apache с PHP-FPM в Ubuntu 22.04.
Обновите свою систему
Перед установкой любого нового программного обеспечения вы должны обновить свою систему, чтобы убедиться, что все пакеты обновлены. Вы можете сделать это, выполнив следующую команду в терминале:
sudo apt update && sudo apt upgrade
Установить Апач
Чтобы установить Apache на Ubuntu 22.04, выполните в терминале следующую команду:
sudo apt install apache2
После завершения установки вы можете запустить службу Apache, выполнив следующую команду:
sudo systemctl start apache2
Вы также можете включить запуск Apache при загрузке, выполнив следующую команду:
sudo systemctl enable apache2
Установить PHP-FPM
Репозитории по умолчанию могут не содержать пакеты последней версии PHP. Поэтому мы всегда предпочитаем использовать ondrej/php PPA для установки PHP, который содержит большинство версий.
Чтобы настроить PPA, выполните следующие команды:
sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php
Затем установите PHP вместе с PHP-FPM, выполнив в терминале следующую команду:
sudo apt install php8.2 php8.2-fpm
Примечание. Замените «8.2» на требуемые версии PHP (например, 8.1, 7.4, 7.3 и т. д.).
После завершения установки вы можете запустить службу PHP-FPM, выполнив следующую команду:
sudo systemctl start php8.2-fpm
Вы также можете включить запуск PHP-FPM при загрузке, выполнив следующую команду:
sudo systemctl enable php8.2-fpm
Настройте Apache для использования PHP-FPM
Чтобы настроить Apache для использования PHP-FPM, вам необходимо включить модули «proxy_fcgi» и «proxy». Вы можете сделать это, выполнив следующую команду:
sudo a2enmod proxy_fcgi proxy
Создайте новый файл конфигурации для вашего виртуального хоста, используя следующую команду:
sudo nano /etc/apache2/sites-available/example.com.conf
Примечание. Замените «example.com» своим собственным доменным именем.
Внутри нового файла конфигурации добавьте следующую конфигурацию с помощью PHP-FPM:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Примечание. Измените директивы «ServerName», «ServerAlias», «DocumentRoot» и путь к сокету PHP FPM, чтобы они соответствовали желаемому домену и пути к файлу.
Сохраните и закройте файл, нажав CTRL+X, затем Y и ENTER.
Включите новый виртуальный хост, выполнив следующую команду:
sudo a2ensite example.com.conf
Перезагрузите веб-сервер Apache, чтобы применить изменения:
sudo systemctl reload apache2
Проверьте конфигурацию
Чтобы протестировать Apache с конфигурацией PHP-FPM, создайте новый файл PHP в корневом каталоге документов вашего веб-сайта:
sudo nano /var/www/html/test.php
Добавьте в файл следующие строки:
<?php phpinfo(); ?>
Сохраните файл и выйдите из текстового редактора. Затем откройте веб-браузер и перейдите по ссылке «http://example.com/test.php». Если все настроено правильно, вы должны увидеть информационную страницу PHP.
Заключение
Установка Apache с PHP-FPM в Ubuntu 22.04 может повысить производительность веб-сайта и общий пользовательский опыт. Apache — это широко используемый веб-сервер, а PHP-FPM — это менеджер процессов FastCGI, позволяющий эффективно обрабатывать запросы PHP. Вместе они обеспечивают мощную комбинацию, которая может оптимизировать скорость и производительность веб-сайта. Следуя подробному руководству в этой статье, вы сможете легко установить Apache с PHP-FPM в Ubuntu 22.04 и воспользоваться его преимуществами.