Настройка Nginx для работы с PHP-FPM в Fedora 40 или 39 необходима для создания высокопроизводительного сервера, способного обрабатывать динамический PHP-контент.
Nginx отлично справляется с эффективным обслуживанием статического контента, а PHP-FPM управляет PHP-процессами, оптимизируя выполнение PHP-скриптов. Однако по умолчанию служба PHP-FPM работает под пользователем «apache», что несовместимо с Nginx. Поэтому необходимо настроить PHP-FPM, чтобы он корректно работал с Nginx.
В этом руководстве вы узнаете, как настроить Nginx для бесперебойной работы с PHP-FPM в Fedora 40 или 39, включая необходимые изменения в конфигурации PHP-FPM. К концу этого руководства ваш сервер будет готов к эффективному обслуживанию веб-сайтов на PHP.
Открыть www.conf файл конфигурации
Сначала откройте файл конфигурации (www.conf) с помощью следующей команды:
sudo nano /etc/php-fpm.d/www.conf
Откройте файл конфигурации и замените пользователя и группу (Apache) пользователем и группой (Nginx), как показано на изображениях ниже:

Найдите «user» и «group», где после символа = (равно) стоит «apache» (как показано выше, в выделенной белым секции), и этих двух строчках замените «apache» на «nginx», как показано на скрине ниже:

Нажмите (CTRL+O), чтобы сохранить, затем нажмите (CTRL+X), чтобы выйти.
Внесите необходимые корректировки, затем перезапустите свой PHP-FPM сервис.
sudo systemctl restart php-fpm
Пример блочного кода сервера Nginx PHP-FPM
Чтобы обрабатывать PHP-файлы с помощью Nginx, необходимо настроить блок сервера, как показано в примере ниже. Используйте этот пример для всех блоков сервера{}, которые управляют PHP-файлами, и убедитесь, что вы включили в конфигурацию «location ~ .php$».
ТОЛЬКО пример:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Чтобы убедиться, что внесённые в предыдущий код изменения не вызвали ошибок, вы можете использовать следующую команду для проверки конфигурации Nginx.
sudo nginx -t
Пример вывода:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Чтобы завершить настройку PHP-FPM, перезапустите службу Nginx.
sudo systemctl restart nginx
Заключение
Настроив Nginx для работы с PHP-FPM в Fedora, вы создали высокоэффективную и масштабируемую среду веб-сервера, способную точно обрабатывать динамический контент. Настройка PHP-FPM для работы под соответствующим пользователем была важным шагом для обеспечения совместимости и безопасности с Nginx. Чтобы поддерживать эту настройку, регулярно отслеживайте производительность сервера. Надлежащее обслуживание обеспечит безопасность, эффективность и способность сервера справляться с возрастающим трафиком.