Когда вы только что установили сервер NGINX, одной из распространенных проблем, с которой вы можете столкнуться, является то, что при попытке открыть веб-сайт с файлами, имеющими расширение PHP (например, index.php, setting.php), браузер начинает загружать файлы на устройство пользователя вместо того, чтобы правильно интерпретировать их на стороне сервера. Эта неполадка может вызвать недоумение и дискомфорт у пользователей, и в данной статье мы рассмотрим, как решить эту проблему и настроить ваш сервер NGINX для корректной обработки файлов PHP.
0. Подготовка к установке компонентов
Перед началом настройки сервера NGINX важно удостовериться, что ваш дистрибутив операционной системы находится в актуальном состоянии. Для этого следует выполнить следующие команды:
sudo apt update -y # скачивание обновлений дистрибутива
sudo apt upgrade -y # установка скаченных обновлений
1. Установка компонента php-fpm
Для установки компонента php-fpm, который является важной частью для обработки PHP-скриптов на сервере, выполните следующую команду:
sudo apt install php-fpm -y # установка компонента php-fpm
Установка php-fpm позволит вашему серверу NGINX взаимодействовать с PHP-скриптами, обеспечивая выполнение их на сервере и передачу результатов обратно в браузер клиента. Это необходимый компонент для работы PHP-приложений на вашем сервере.
2. Включение php-fpm и добавление компонента в автозагрузку
Выполним проверку версии установленного компонента
apt list | grep -E 'php[0-9]+\.[0-9]+-fpm'
# Вывод списка установленных приложений и поиск нужного нам компонента через команду grep с использованием регулярного выражения

Результат этой команды покажет установленную версию компонента php-fpm
. Например, если результат будет выглядеть как на скриншоте, то это означает, что у вас установлена версия php7.4-fpm
. Это полезно при дальнейшей настройке NGINX, так как вы должны указать правильную версию в вашей конфигурации сервера.
Далее необходимо запустить и добавить в автозапуск службу php-fpm
sudo systemctl start php7.4-fpm.service
# запускаем сервис php7.4-fpmsudo systemctl enable php7.4-fpm.service
# добавляем сервис в автозапуск
3. Настройка конфигурации NGINX
Для настройки NGINX сервера и создания нового конфигурационного файла, выполните следующие шаги:
cd /etc/nginx/sites-available
# Перейдите в директорию sites-available, где хранятся конфигурационные файлы для виртуальных хостовcp default [Новое название конфига]
# Создайте копию существующего конфигурационного файла (например, default)cd /etc/nginx/sites-enabled
# Перейдите в директорию sites-enabled, где хранятся символические ссылки на активные конфигурацииln -s ../sites-available/[Название конфига] [Новое название конфига]
# Создайте символическую ссылку, чтобы активировать ваш новый конфигурационный файл. Замените [Новое название конфига] на имя вашего нового конфигурационного файла
Далее нам нужно открыть конфигурационный файл, который создали по пути /etc/nginx/sites-enabled/
Чтобы открыть созданный вами конфигурационный файл NGINX, выполните команду, используя ваш текстовый редактор по выбору (например, nano
или vim
). Замените [Новое название конфига]
на фактическое имя вашего конфигурационного файла:
sudo nano /etc/nginx/sites-enabled/[Новое название конфига]
# открытие конфига с помощью редактора nano
Для настройки NGINX на обработку PHP с использованием php-fpm
, вы должны отредактировать свой конфигурационный файл, как упомянули выше, и внести следующие изменения:
- Найдите и раскомментируйте (если она закомментирована) строку
include snippets/fastcgi-php.conf;
. Это позволит включить конфигурации для обработки PHP-скриптов. - Найдите строку
fastcgi_pass unix:/run/php/php[наша версия]-fpm.sock;
и замените[наша версия]
на фактическую версиюphp-fpm
, которая была установлена на вашем сервере, как вы определили ранее. В нашем случае этоphp7.4-fpm
Результат должен быть таким.

Чтобы изменения вступили в силу перезагружаем nginx
sudo nginx -s stop
# выключаем nginxsudo nginx
# запускаем nginx
4. Заключение
В заключении, после установки сервера NGINX и настройки компонента PHP-FPM, вы сможете успешно хостить и обслуживать веб-приложения, включая PHP-скрипты, на вашем сервере. Важно следовать правильной процедуре установки, обновления и настройки, чтобы обеспечить стабильную и безопасную работу вашего веб-сервера.
Не забудьте также удостовериться, что конфигурационные файлы NGINX настроены правильно для обработки PHP-скриптов, и что версия php-fpm
соответствует той, которую вы установили на вашем сервере.
Следуйте официальной документации и руководствам для дополнительной настройки и обеспечения безопасности вашего сервера. Удачи в вашем веб-хостинге и администрировании сервера!