lemp on debian10

Как установить LEMP на сервере Debian 10

Рубрики:

Linux, MySQL, Nginx, PHP

Метки:

, , , , ,

Стек «LEMP» представляет собой смесь программного обеспечения с открытым исходным кодом, которое обычно устанавливается на сервере Linux для развертывания динамических приложений. Этот термин является аббревиатурой, обозначающей операционную систему Linux, веб-сервер Nginx, базу данных MariaDB и PHP-интерпритатор.

 

Читайте также: Как установить LAMP на сервере Debian 10.

 

Хотя этот стек «LEMP» обычно содержит MySQL в качестве системы управления базами данных, некоторые дистрибутивы Linux, такие как Debian, используют MariaDB в качестве замены MySQL.

 

Требования

Как установить минимальный сервер Debian 10 (Buster)

 

В этой статье мы расскажем вам, как установить и настроить среду LEMP на сервере Debian 10, используя MariaDB в качестве платформы управления базами данных.

 

Установка веб-сервера Nginx в Debian 10

Nginx — это кроссплатформенный, открытый, легкий, но мощный и простой в настройке HTTP, почтовый прокси-сервер и универсальный TCP/UDP-прокси-сервер с модульной архитектурой.

Некоторые из его основных функций включают обслуживание статических и индексных файлов; ускоренная поддержка с кэшированием серверов FastCGI, uwsgi, SCGI и Memcached, балансировка нагрузки и отказоустойчивость, поддержка SSL и TLS SNI, поддержка HTTP/2 с взвешенной и основанной на зависимостях приоритетностью.

Чтобы установить пакет Nginx, используйте менеджер пакетов Debian apt, как показано.

 

 

После завершения установки Nginx установщик активирует systemd, чтобы на данный момент запустить службу Nginx и включит ее автоматический запуск при загрузке системы. Вы можете проверить состояние Nginx, используя следующую команду systemctl.

 

 

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

 

Далее, если у вас работает брандмауэр UFW (он обычно отключен по умолчанию), вам нужно открыть порты 80 (HTTP) и 443 (HTTPS), чтобы разрешить входящий трафик на Nginx.

 

Hа этом этапе вам необходимо проверить, правильно ли установлен Nginx, работает ли он и может ли обслуживать веб-страницы. Для этого откройте веб-браузер и укажите следующий URL-адрес для доступа к веб-странице Nginx Debian по умолчанию.

 

Check-Nginx-Page-on-Debian-10

 

Установка MariaDB в Debian 10

Затем вам необходимо установить систему баз данных, чтобы иметь возможность хранить данные и управлять ими для вашего веб-сайта или веб-приложения. Debian 10 поддерживает MariaDB по умолчанию, как замену MySQL.

Чтобы установить MariaDB, выполните следующую команду.

 

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

 

 

Для управления (запуска, перезапуска, остановки и перезагрузки) службы MariaDB в systemd вы можете использовать следующую команду.

 

Далее, развертывание MariaDB будет небезопасным по умолчанию. Вам необходимо запустить сценарий оболочки, который поставляется вместе с пакетом, чтобы позволить вам повысить безопасность базы данных.

 

После запуска скрипта вам понадобится выполнить ряд следующих вопросов, чтобы изменить настройки по умолчанию для установки MariaDB, как показано на следующем снимке экрана.

 

 

 

Установка PHP-FPM (Fast Process Manager) в Debian 10

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

Чтобы установить PHP-FPM версии 7.3 и модуль PHP для связи с системой баз данных MariaDB/MySQL, выполните следующую команду.

 

После установки PHP-FPM установщик активирует systemd, чтобы запустить службу PHP-FPM и разрешить ее автоматический запуск при загрузке системы. Чтобы проверить, работает ли он, выполните следующую команду.

 

 

Вы также можете запустить, перезапустить, остановить и перезагрузить конфигурацию службы PHP-FPM в systemd следующим образом.

 

Затем вам нужно защитить PHP-FPM, внеся некоторые изменения в файл конфигурации /etc/php/7.4/fpm/php.ini следующим образом.

 

Найдите; cgi.fix_pathinfo=1 раскомментируйте его, удалив; символ в начале, установите его значение равным 0. Это препятствует тому, чтобы Nginx позволял файлам не-PHP выполняться как PHP.

 

 

По умолчанию PHP-FPM настроен на прослушивание сокета UNIX, /run/php/php7.4-fpm.sock, как определено в файле конфигурации /etc/php/7.4/fpm/pool.d/www.conf. Вы должны настроить весь свой блок сервера (или виртуальные хосты) для использования этого сокета, если они должны обрабатывать и обслуживать страницы PHP.

Вы можете использовать файл конфигурации блока сервера Nginx по умолчанию /etc/nginx/sites-available/default, чтобы протестировать его.

 

Найдите следующий раздел и раскомментируйте его, чтобы передать PHP-скрипты серверу FastCGI, как показано на скриншоте.

 

 

Затем проверьте правильность структуры конфигурации Nginx, используя следующую команду.

 

 

Если конфигурация Nginx в порядке, чтобы применить недавно сделанные изменения, перезапустите службы php7.3-fpm и nginx следующим образом.

 

 

Тестирование обработки PHP-FPM на Nginx

После настройки PHP-FPM и Nginx для совместной работы необходимо проверить, могут ли две службы обрабатывать и обслуживать страницы PHP для клиентов. Для этого создайте простой PHP-скрипт в вашем веб-документе DocumentRoot следующим образом.

 

 

Наконец, откройте браузер и введите следующий адрес, чтобы увидеть конфигурации PHP в системе, сгенерированные функцией phpinfo().

 

 

Вывод

В этой статье мы показали, как установить и настроить стек LEMP в Debian 10.

 

 

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

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

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

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОМ.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, MySQL, Nginx, PHP

Метки:

, , , , ,

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

1 комментарий. Оставить новый

  • # systemctl status php-fpm лучше писать с указанием версии PHP. Иначе вылезет ошибка – Unit php-fpm.service could not be found. По этому для проверки запуска пакета пишем
    # systemctl status php7.2-fpm (или 7.0 или 7.3 в зависимости от минора)

    Ответить

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

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

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

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