Как настроить хостинг для сайта на PHP-FPM?
PHP-FPM (FastCGI Process Manager) — это альтернативный способ выполнения PHP-кода, который отличается повышенной производительностью и стабильностью по сравнению с традиционным модулем mod_php в Apache. Настройка хостинга для сайта на PHP-FPM включает в себя несколько этапов, начиная с установки необходимого программного обеспечения и заканчивая конфигурацией веб-сервера и самого PHP-FPM. В этой статье мы подробно разберём весь процесс настройки.
- Выбор хостинга
Прежде чем приступать к настройке, убедитесь, что ваш хостинг-провайдер поддерживает PHP-FPM. Большинство современных хостингов предлагают такую возможность, однако иногда требуется специальная настройка или обновление тарифа. Узнайте у своей техподдержки, доступен ли PHP-FPM на вашем текущем плане.
- Установка необходимых пакетов
Для начала необходимо установить PHP-FPM и сопутствующие пакеты. Мы будем рассматривать пример для операционной системы Ubuntu, но процесс аналогичен и для других дистрибутивов Linux.
sudo apt update
sudo apt install php-fpm php-mysql
Этот код установит PHP-FPM вместе с пакетом для работы с MySQL, если ваш сайт использует базы данных.
- Конфигурация PHP-FPM
После установки PHP-FPM необходимо настроить его параметры. Откройте файл конфигурации /etc/php/fpm/pool.d/www.conf и внесите изменения согласно вашим требованиям. Вот некоторые важные параметры, которые стоит проверить:
- listen: Определяет адрес и порт, на котором будет слушать PHP-FPM. По умолчанию это сокет Unix (/run/php/php7.4-fpm.sock), но можно изменить на TCP-порт, если требуется.
- pm: Определяет режим работы менеджера процессов. Возможные значения: static, dynamic, ondemand.
- pm.max_children: Максимальное количество дочерних процессов, которые будут запущены.
- pm.start_servers: Количество дочерних процессов, которые будут запущены при старте.
- pm.min_spare_servers: Минимальное количество свободных дочерних процессов.
- pm.max_spare_servers: Максимальное количество свободных дочерних процессов.
Пример конфигурации:
[global]
daemonize = yes
error_log = /var/log/php-fpm.log
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
[www]
user = www-data
group = www-data
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 15
- Конфигурация веб–сервера
Следующим шагом является настройка веб-сервера для работы с PHP-FPM. Рассмотрим примеры для двух наиболее популярных веб-серверов: Apache и Nginx.
Apache
Для Apache необходимо включить модуль proxy_fcgi. Добавьте следующую строку в файл конфигурации Apache:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Затем создайте или измените виртуальный хост для вашего сайта, добавив следующие строки:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<FilesMatch \.php$>
SetHandler “proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/”
</FilesMatch>
</VirtualHost>
Nginx
Для Nginx добавьте следующий блок в конфигурационный файл вашего сайта:
server {
listen 80;
server_name example.com;
root /var/www/html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
- Перезапуск сервисов
После внесения изменений в конфигурационные файлы необходимо перезапустить PHP-FPM и веб-сервер, чтобы новые настройки вступили в силу.
sudo systemctl restart php7.4-fpm
sudo systemctl restart apache2 # Или nginx, в зависимости от вашего веб-сервера
- Тестирование
Чтобы убедиться, что всё настроено правильно, создайте простой PHP-скрипт, отображающий информацию о конфигурации PHP:
<?php
phpinfo();
?>
Разместите этот скрипт в корневой директории вашего сайта и откройте его в браузере. Если страница с информацией о PHP открылась успешно, значит, настройка прошла корректно.
Заключение
Настройка хостинга для сайта на PHP-FPM — это относительно несложный процесс, который требует внимательности и знания основ администрирования серверов.
Правильно настроенный PHP-FPM может значительно повысить производительность вашего сайта и улучшить пользовательский опыт.
В этом контексте мы рекомендуем – SPRINTHOST за сочетание надежности, профессиональной поддержки и разумных цен. Примите мудрое решение сегодня, чтобы обеспечить процветание вашего веб-проекта завтра. Начните использовать – SPRINTHOST.