Включение php-fpm в Nginx в Linux

Linux
enable php-fpm nginx

Когда вы только что установили сервер NGINX, одной из распространенных проблем, с которой вы можете столкнуться, является то, что при попытке открыть веб-сайт с файлами, имеющими расширение PHP (например, index.php, setting.php), браузер начинает загружать файлы на устройство пользователя вместо того, чтобы правильно интерпретировать их на стороне сервера. Эта неполадка может вызвать недоумение и дискомфорт у пользователей, и в данной статье мы рассмотрим, как решить эту проблему и настроить ваш сервер NGINX для корректной обработки файлов PHP.

0. Подготовка к установке компонентов

Перед началом настройки сервера NGINX важно удостовериться, что ваш дистрибутив операционной системы находится в актуальном состоянии. Для этого следует выполнить следующие команды:

  1. sudo apt update -y # скачивание обновлений дистрибутива
  2. sudo apt upgrade -y # установка скаченных обновлений

1. Установка компонента php-fpm

Для установки компонента php-fpm, который является важной частью для обработки PHP-скриптов на сервере, выполните следующую команду:

  1. sudo apt install php-fpm -y # установка компонента php-fpm

Установка php-fpm позволит вашему серверу NGINX взаимодействовать с PHP-скриптами, обеспечивая выполнение их на сервере и передачу результатов обратно в браузер клиента. Это необходимый компонент для работы PHP-приложений на вашем сервере.

2. Включение php-fpm и добавление компонента в автозагрузку

Выполним проверку версии установленного компонента

  1. apt list | grep -E 'php[0-9]+\.[0-9]+-fpm' # Вывод списка установленных приложений и поиск нужного нам компонента через команду grep с использованием регулярного выражения

Результат этой команды покажет установленную версию компонента php-fpm. Например, если результат будет выглядеть как на скриншоте, то это означает, что у вас установлена версия php7.4-fpm. Это полезно при дальнейшей настройке NGINX, так как вы должны указать правильную версию в вашей конфигурации сервера.

Далее необходимо запустить и добавить в автозапуск службу php-fpm

  1. sudo systemctl start php7.4-fpm.service # запускаем сервис php7.4-fpm
  2. sudo systemctl enable php7.4-fpm.service # добавляем сервис в автозапуск

3. Настройка конфигурации NGINX

Для настройки NGINX сервера и создания нового конфигурационного файла, выполните следующие шаги:

  1. cd /etc/nginx/sites-available # Перейдите в директорию sites-available, где хранятся конфигурационные файлы для виртуальных хостов
  2. cp default [Новое название конфига] # Создайте копию существующего конфигурационного файла (например, default)
  3. cd /etc/nginx/sites-enabled # Перейдите в директорию sites-enabled, где хранятся символические ссылки на активные конфигурации
  4. ln -s ../sites-available/[Название конфига] [Новое название конфига] # Создайте символическую ссылку, чтобы активировать ваш новый конфигурационный файл. Замените [Новое название конфига] на имя вашего нового конфигурационного файла

Далее нам нужно открыть конфигурационный файл, который создали по пути /etc/nginx/sites-enabled/

Чтобы открыть созданный вами конфигурационный файл NGINX, выполните команду, используя ваш текстовый редактор по выбору (например, nano или vim). Замените [Новое название конфига] на фактическое имя вашего конфигурационного файла:

  1. sudo nano /etc/nginx/sites-enabled/[Новое название конфига] # открытие конфига с помощью редактора nano

Для настройки NGINX на обработку PHP с использованием php-fpm, вы должны отредактировать свой конфигурационный файл, как упомянули выше, и внести следующие изменения:

  1. Найдите и раскомментируйте (если она закомментирована) строку include snippets/fastcgi-php.conf;. Это позволит включить конфигурации для обработки PHP-скриптов.
  2. Найдите строку fastcgi_pass unix:/run/php/php[наша версия]-fpm.sock; и замените [наша версия] на фактическую версию php-fpm, которая была установлена на вашем сервере, как вы определили ранее. В нашем случае это php7.4-fpm

Результат должен быть таким.

nginx настройка обработки php

Чтобы изменения вступили в силу перезагружаем nginx

  1. sudo nginx -s stop # выключаем nginx
  2. sudo nginx # запускаем nginx

4. Заключение

В заключении, после установки сервера NGINX и настройки компонента PHP-FPM, вы сможете успешно хостить и обслуживать веб-приложения, включая PHP-скрипты, на вашем сервере. Важно следовать правильной процедуре установки, обновления и настройки, чтобы обеспечить стабильную и безопасную работу вашего веб-сервера.

Не забудьте также удостовериться, что конфигурационные файлы NGINX настроены правильно для обработки PHP-скриптов, и что версия php-fpm соответствует той, которую вы установили на вашем сервере.

Следуйте официальной документации и руководствам для дополнительной настройки и обеспечения безопасности вашего сервера. Удачи в вашем веб-хостинге и администрировании сервера!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *