Как установить LEMP (Linux, Nginx, MariaDB, PHP-FPM) на Debian 9 Stretch

Как установить LEMP (Linux, Nginx, MariaDB, PHP-FPM) на Debian 9 Stretch

Поскольку в Debian работает большой процент веб-серверов по всему миру, в этой статье мы расскажем, как установить LEMP (Linux + Nginx + MariaDB + PHP-FPM) стек в Debian 9 Stretch в качестве альтернативы LAMP.

Кроме того, мы покажем, как выполнить минимальную конфигурацию Nginx / PHP-FPM, чтобы даже не очень опытные системные администраторы могли настраивать новые веб-серверы для работы с динамическими страницами.

Чтобы сделать это, мы будем использовать последние обновления официальных репозиториев дистрибутива. Предполагается, что вы установили Debian 9 на пустое железо, виртуальную машину, VPS или обновили Jessie.

 

Установка LEMP в Debian 9 Stretch

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

По этой причине PHP-FPM (Fast Process Manager) используется для обработки запросов на PHP-страницы. Вы можете узнать больше о PHP-FPM на официальном сайте PHP.

Версия по умолчанию представлена ​​в репозиториях Debian php7.0-fpm. Как вы можете догадаться, основываясь на имени пакета, эта версия может обрабатывать запросы на странице, включая код PHP 7.

ПРИМЕЧАНИЕ. Если ранее был установлен Apache, перед продолжением убедитесь, что он остановлен и отключен.

С учетом сказанного, давайте установим компоненты стека LEMP следующим образом:

 

Когда установка будет завершена, убедитесь, что Nginx и PHP-FPM запущены и включены для запуска при загрузке:

 

Если видите, что какая-то из служб не работает, тогда выполните:

 

Как и в случае с установкой MariaDB или MySQL, важно запустить mysql_secure_installation, чтобы выполнить минимальную конфигурацию безопасности и установить пароль для учетной записи root.

 

Настройка Nginx для использования PHP-FPM на Debian 9

Основным файлом конфигурации Nginx является /etc/nginx/sites-available/default, где нам нужно внести следующие изменения внутри блока сервера:

  • Убедитесь, что блок местоположения, который обрабатывает запросы PHP, включен, за исключением того, где директива fastcgi_pass указывает на UNIX сокет.
  • Добавьте index.php после директивы index, чтобы указать, что если он найден, он должен быть подан по умолчанию перед index.html или другими файлами.
  • Добавьте директиву server_name, указывающую на IP-адрес или имя хоста вашего сервера. Это будет 192.168.0.35 в нашем случае.
  • Кроме того, убедитесь, что директива root указывает на место, где будут храниться ваши .php-файлы (/var/www/html по умолчанию).

Когда вы закончите, вы можете использовать следующую команду для проверки файла конфигурации на наличие ошибок.

 

На этом этапе ваш /etc/nginx/sites-available/default должен выглядеть следующим образом, где номера, относящиеся к конфигурации, относятся к приведенному выше списку:

 

Как установить LEMP (Linux, Nginx, MariaDB, PHP-FPM) на Debian 9 Stretch

 

Тестирование Nginx и PHP-FPM на Debian 9

Чтобы убедиться, что мы теперь используем Nginx в качестве нашего веб-сервера, давайте создадим файл с именем info.php внутри /var/www/html со следующим содержимым:

 

Затем перейдите на страницу http://192.168.0.35/info.php и проверьте верхнюю часть страницы, где вы должны увидеть это:

Testing-Nginx-and-PHP-FPM-on-Debian-9

Наконец, давайте укажем наш путь к файлу booksandauthors.php, который мы создадим в следующем разделе.

Тестирование соединения базы данных с PHP Script

Следующий скрипт PHP сначала подключается к базе данных и извлекает записи, соответствующие запросу. Если возникает ошибка, будет отображаться сообщение c подсказкой о том, что не так.

Сохраните следующий скрипт в виде booksandauthors.php в /var/www/html:

 

Измените право собственности на www-data и добавьте соответствующие разрешения:

 

Теперь, откройте веб-браузер и укажите ему URL-адрес, где находится скрипт.

 

 

Как видно со следующего изображении, этот файл теперь обслуживается Nginx:

Как установить LEMP (Linux, Nginx, MariaDB, PHP-FPM) на Debian 9 Stretch

ПРИМЕЧАНИЕ. Если вы заметили, что Nginx открывает файлы .php в качестве загрузок, а не выполняет их, очистите кеш браузера или попробуйте другой браузер. В частности, если вы используете Chrome, вы можете протестировать его с помощью режима инкогнито.

 

Итог

В этой статье мы объяснили, как установить и настроить Nginx для обслуживания динамических страниц .php. Важно отметить, что после этой начальной настройки есть настройки, которые необходимо выполнить для защиты веб-сервера.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню