lemp on debian10

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

LinuxMySQLNginxPHP

Стек «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, как показано.

# apt update
# apt install nginx 

 

Install-Nginx-on-Debian-10

 

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

# systemctl status nginx

 

check-nginx-status

 

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

# systemctl start nginx
# systemctl restart nginx
# systemctl stop nginx
# systemctl reload nginx
# systemctl status nginx 

 

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

# ufw allow 80
# ufw allow 443
# ufw status

 

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

http://SERVER_IP/
OR
http://localhost/

 

Check-Nginx-Page-on-Debian-10

 

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

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

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

# apt install mariadb-server

 

Install-MariaDB-in-Debian-10-1

 

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

# systemctl status mariadb

 

check-mariadb-status

 

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

# systemctl start mariadb
# systemctl restart mariadb
# systemctl stop mariadb
# systemctl reload mariadb

 

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

# mysql_secure_installation

 

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

 

Secure-MariaDB-in-Debian-10

 

 

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

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

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

# apt install php-fpm php-mysqli

 

Install-PHP-FPM-in-Debian-10

 

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

# systemctl status php-fpm

 

check-php-fpm-status

 

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

# systemctl start php-fpm
# systemctl restart php-fpm
# systemctl stop php-fpm
# systemctl reload php-fpm
# systemctl status php-fpm

 

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

# vi /etc/php/7.3/fpm/php.ini

 

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

cgi.fix_pathinfo=0

 

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

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

# vi /etc/nginx/sites-available/default

 

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

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

 

pass-php-scirpts-to-fastcgi-server

 

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

# nginx -t

 

check-nginx-configuration

 

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

# systemctl restart php7.2-fpm
# systemctl restart nginx

 

 

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

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

# echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php

 

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

http://SERVER_IP/info.php
OR
http://localhost/info.php

 

test-php-fpm-and-nginx

 

Вывод

В этой статье мы показали, как установить и настроить стек 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, подайте заявку или получите бесплатную консультацию.
LinuxMySQLNginxPHP

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

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

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

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

Самое читаемое
Меню