Как установить LEMP на сервер Debian 10
Стек «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
После завершения установки Nginx установщик активирует systemd, чтобы на данный момент запустить службу Nginx и разрешить ее автоматический запуск при загрузке системы. Вы можете проверить статус Nginx, используя следующую команду systemctl.
systemctl status nginx
Вы также можете использовать следующие важные команды для запуска, перезапуска, остановки и перезагрузки конфигурации службы 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
На этом этапе вам необходимо проверить, правильно ли установлен Nginx, работает ли он и может ли обслуживать веб-страницы. Для этого откройте веб-браузер и укажите в нем следующий URL-адрес, чтобы получить доступ к веб-странице Nginx Debian по умолчанию.
http://SERVER_IP/
OR
http://localhost/
Установка MariaDB на Debian 10
Далее вам необходимо установить систему баз данных, чтобы иметь возможность хранить данные вашего веб-сайта или веб-приложения и управлять ими. Debian 10 по умолчанию поддерживает MariaDB в качестве полной замены MySQL.
Чтобы установить MariaDB, выполните следующую команду.
apt install mariadb-server
Затем проверьте состояние службы MariaDB, поскольку она автоматически запускается systemd и может запускаться при загрузке системы. Чтобы убедиться, что она запущена и работает, используйте следующую команду.
systemctl status mariadb
Для управления (запуском, перезапуском, остановкой и перезагрузкой) службой MariaDB под systemd вы можете использовать следующую команду.
systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb
Далее, развертывание MariaDB по умолчанию будет небезопасным. Вам необходимо запустить сценарий оболочки, который поставляется вместе с пакетом, чтобы повысить безопасность базы данных.
mysql_secure_installation
После запуска сценария вам будет предложено ответить на ряд следующих вопросов, чтобы изменить настройки установки 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, выполните следующую команду.
apt install php-fpm php-mysqli
После установки PHP-FPM программа установки активирует systemd, чтобы запустить службу PHP-FPM, и включит ее автоматический запуск при загрузке системы. Чтобы проверить, работает ли он, введите следующую команду.
systemctl status php-fpm
Вы также можете запустить, перезапустить, остановить и перезагрузить конфигурацию службы 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;
}
Затем проверьте, ОК структура конфигурации Nginx, используя следующую команду.
nginx -t
Если конфигурация 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
Заключение
В этой статье мы показали, как установить и настроить стек LEMP в Debian 10. Если у вас есть какие-либо вопросы или отзывы, пожалуйста, свяжитесь с нами и сообщите нам об этом через форму комментариев ниже.