Стек «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 по умолчанию.
Установка 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, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
# systemctl status php-fpm лучше писать с указанием версии PHP. Иначе вылезет ошибка — Unit php-fpm.service could not be found. По этому для проверки запуска пакета пишем
# systemctl status php7.2-fpm (или 7.0 или 7.3 в зависимости от минора)