Как настроить сервер LEMP на Debian 10 Buster
LEMP является отличной альтернативой традиционным серверам LAMP. Nginx в некоторых ситуациях легче и быстрее, чем Apache. Он также может быть настроен на выполнение других полезных задач, например, в качестве обратного прокси-сервера. Как и в случае с LAMP, Debian является отличной платформой для серверов LEMP. Все, что вам нужно, доступно в репозиториях Debian, поэтому его легко начать.
В этом уроке вы узнаете:
- Как настроить MariaDB
- Как установить PHP
- Как установить Nginx
- Как настроить Nginx
- Как проверить свой сервер

Требования к программному обеспечению и используемые условные обозначения
категория | Требования, соглашения или используемая версия программного обеспечения |
---|---|
система | Debian 10 Buster |
Программное обеспечение | Nginx, MariaDB и PHP |
Другой | Привилегированный доступ к вашей системе Linux от имени пользователя root или с помощью sudo команды. |
Условные обозначения | # - требует, чтобы данные команды linux выполнялись с правами root либо напрямую как пользователь root, либо с помощью sudo команды$ - требует, чтобы данные команды linux выполнялись как обычный непривилегированный пользователь |
Настроить MariaDB
Лучшее место для настройки вашего сервера LEMP - это база данных. Для этого руководства MaraiDB будет служить базой данных. Поскольку MariaDB является хорошей заменой MySQL, это отличный вариант. Прежде чем вы сможете использовать MariaDB для любого из ваших проектов, вам необходимо его настроить. Для запуска такого приложения, как WordPress, не требуется много, поэтому это не займет много времени.
Установить MariaDB
Начните с фактической установки сервера MariaDB.
$ sudo apt install mariadb-server
Настройте базу данных
Установив MariaDB, вы готовы подготовить базу данных для работы с веб-приложениями. MariaDB имеет скрипт, который поможет вам автоматически защитить сервер базы данных, поэтому начните с его запуска.
$ sudo mysql_secure_installation
Следуйте инструкциям в сценарии. Установите пароль root, когда вас спросят. Значения по умолчанию хороши для всего остального.
Теперь войдите в MariaDB, используя mysql
команду и указав root
пользователя.
# mysql -u root -p
Создайте базу данных для вашего проекта.
CREATE DATABASE newdb;
Затем создайте пользователя, который будет подключаться и управлять базой данных.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';
Этот пользователь должен иметь полный контроль над базой данных, чтобы иметь возможность запускать веб-приложения. Предоставьте ему все привилегии для базы данных и ее таблиц.
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';
Все настроено и готово к использованию. Сбросьте свои привилегии и выйдите из MariaDB.
FLUSH PRIVILEGES;
\q
Установить PHP
PHP это следующий кусок головоломки. Вам не понадобится весь PHP-пакет Debian, только PHP-FPM. Установите его с помощью модуля MySQL.
$ sudo apt install php-fpm php-mysql
Установить Nginx
Почти все на месте. Вам просто нужно настроить веб-сервер Nginx. Для начала установите Nginx в вашей системе из репозиториев Debian.
$ sudo apt install nginx
Настроить Nginx
Nginx - это мощный веб-сервер, предлагающий множество вариантов. Это также говорит о том, что для того, чтобы он работал точно так, как вам нужно, нужно много настроек. Это руководство поможет вам получить базовую рабочую настройку, но вы можете сделать гораздо больше с Nginx.
Конфигурации сайта Nginx хранятся /etc/nginx/sites-available
и связаны с ними /etc/nginx/sites-enabled
. Создайте новый файл для конфигурации вашего сервера /etc/nginx/sites-available
и откройте его в текстовом редакторе.
Начните с создания блока сервера, чтобы сообщить Nginx, что это новая конфигурация сайта.
server {
}
Остальная часть вашей конфигурации будет идти в этом блоке. Затем добавьте адреса прослушивания. Это номера портов, за которыми следуют важные атрибуты вашего сайта. Если это будет ваш единственный сайт или сайт по умолчанию, добавьте default_server
после номера порта.
server {
listen 80 default_server;
listen [::]:80 default_server;
}
Добавьте в корневую папку веб, где вы хотите разместить свой сайт. /var/www/html
это обычное значение по умолчанию. Затем сообщите Nginx имя индекса вашего сайта, более известного как домашняя страница.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
}
Теперь добавьте доменное имя вашего сайта в качестве server_name
. Если это просто локальный сервер, используйте _
вместо домена.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
}
Следующий блок конфигурации говорит Nginx проверять файлы, соответствующие текущему веб-адресу.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
location / {
try_files $uri $uri/ =404;
}
}

Наконец, этот последний блок говорит Nginx выдавать PHP-файлы PHP-FPM. Вот где основная часть работы будет выполнена.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
}
Когда вы закончите, сохраните свою конфигурацию и выйдите. Теперь свяжите это с sites-enabled
.
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
Затем перезапустите сервер, чтобы включить сайт.
$ sudo systemctl restart nginx
Проверьте свой сервер
Самый простой способ убедиться, что ваш сервер работает правильно, - это создать новый PHP-файл в вашем веб-корне для запуска некоторого PHP-кода. Создайте index.php
на /var/www/html/
и откройте его в текстовом редакторе. Поместите следующую строку кода в файл и сохраните его.
Откройте браузер и перейдите на свой сервер. Вы должны увидеть таблицу PHP-информации о вашем сервере. Если вы это сделаете, ваш сервер работает нормально, и он готов для вашего приложения PHP, как WordPress.
Вывод
Оттуда вы можете делать что угодно. Конфигурация сервера останется на месте, и все должно оставаться работоспособным, если вы не измените его. Вы также можете добавить несколько сайтов на один и тот же сервер Nginx с аналогичными настройками. Просто измените, server_name
чтобы указать на другой домен.