LEMP установка · 5 min read · Jan 05, 2026
Установка LEMP-стека (Nginx, PHP и MariaDB) на Debian 11

LEMP-стек — это набор программного обеспечения с открытым исходным кодом и фреймворков или библиотек, которые используются для хостинга веб-приложений в интернете. Стек состоит из операционной системы Linux, веб-сервера Nginx, сервера баз данных MariaDB/MySQL и языка PHP. LEMP имеет хорошую поддержку сообщества и используется во многих высокомасштабируемых веб-приложениях по всему миру.
В этом посте мы покажем вам, как установить LEMP-стек на Debian 11.
Предварительные требования
- Сервер с установленным Debian 11.
- Действительное доменное имя, указывающее на IP-адрес вашего сервера.
- Настроенный root-пароль на сервере.
Начало работы
Перед началом рекомендуется обновить пакеты вашей системы до последней версии. Вы можете обновить все пакеты, используя следующую команду:
apt-get update -yПосле обновления системы вы можете перейти к следующему шагу.
Установка веб-сервера Nginx
Nginx — это бесплатный и открытый веб-сервер, который использует архитектуру, основанную на событиях, и способен обрабатывать несколько запросов в одном потоке. Он совместим с широко используемыми приложениями и используется для обслуживания статических файлов.
По умолчанию пакет Nginx включен в стандартный репозиторий Debian 11. Вы можете установить его, используя следующую команду:
apt-get install nginx -yПосле установки Nginx запустите службу Nginx и включите ее для автоматического запуска при перезагрузке системы:
systemctl start nginx
systemctl enable nginxВы также можете проверить установленную версию Nginx с помощью следующей команды:
nginx -vВы должны увидеть следующий вывод:
nginx version: nginx/1.18.0
По умолчанию Nginx работает на порту 80. Вы можете проверить это, используя следующую команду:
ss -antpl | grep nginxВы должны увидеть следующий вывод:
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))
Вы также можете проверить установку Nginx, используя URL http://your-server-ip. Вы должны увидеть тестовую страницу Nginx на следующей странице:

На этом этапе веб-сервер Nginx установлен. Теперь вы можете перейти к следующему шагу.
Установка сервера баз данных MariaDB
MariaDB — это база данных на основе SQL с открытым исходным кодом, которая используется для хранения и управления данными для веб-сайтов. По умолчанию пакет MariaDB включен в стандартный репозиторий Debian 11. Вы можете установить его, используя следующую команду:
apt-get install mariadb-server -yПосле установки сервера баз данных MariaDB запустите службу MariaDB и включите ее для автоматического запуска при перезагрузке системы:
systemctl start mariadb
systemctl enable mariadbВы также можете проверить статус службы MariaDB с помощью следующей команды:
systemctl status mariadbВы должны увидеть следующий вывод:
? mariadb.service - MariaDB 10.3.31 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 1838 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 2353)
Memory: 66.1M
CGroup: /system.slice/mariadb.service
??1838 /usr/sbin/mysqld
Также рекомендуется обеспечить безопасность вашей установки MariaDB и установить root-пароль для MariaDB. Вы можете запустить скрипт mysql_secure_installation для обеспечения безопасности установки MariaDB:
mysql_secure_installationВам будет предложено установить root-пароль для MariaDB, удалить анонимных пользователей, запретить удаленный вход для root и удалить тестовую базу данных, как показано ниже:
Enter current password for root (enter for none):
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
По умолчанию MariaDB работает на порту 3306. Вы можете проверить это, используя следующую команду:
ss -antpl | grep mariadbВы должны увидеть следующую команду:
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
Чтобы подключиться к оболочке MariaDB, выполните следующую команду:
mysql -u root -pВведите свой root-пароль для MariaDB и нажмите Enter, чтобы подключиться к оболочке MariaDB. После подключения вы должны увидеть следующий вывод:
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Теперь выполните следующую команду, чтобы проверить версию MariaDB:
MariaDB [(none)]> SELECT VERSION();Вы должны увидеть следующий вывод:
+-------------------+
| VERSION() |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)
На этом этапе сервер баз данных MariaDB установлен и защищен. Теперь вы можете перейти к следующему шагу.
Установка языка PHP
PHP — это язык сценариев, используемый на стороне сервера. Он с открытым исходным кодом, имеет большую поддержку сообщества и используется для хостинга PHP-приложений в интернете.
По умолчанию версия PHP, доступная в Debian 11, — это PHP 7.4. Вы можете установить PHP с другими широко используемыми расширениями с помощью следующей команды:
apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -yПосле установки PHP проверьте версию PHP, используя следующую команду:
php -vВы должны увидеть следующий вывод:
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Создание виртуального хоста для Nginx
Здесь мы создадим каталог example.com для хостинга PHP-страницы. Вы можете создать его с помощью следующей команды:
mkdir /var/www/html/example.comЗатем установите владельца каталога example.com на www-data:
chown -R www-data:www-data /var/www/html/example.comДалее создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/conf.d/example.confДобавьте следующие строки:
server {
listen 80;
server_name example.com;
root /var/www/html/example.com;
index index.php;
access_log /var/log/nginx/example_access.log;
error_log /var/log/nginx/example_error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Сохраните и закройте файл, затем проверьте конфигурацию Nginx на наличие ошибок с помощью следующей команды:
nginx -tВы должны увидеть следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Затем перезапустите службу Nginx, чтобы применить изменения конфигурации:
systemctl restart nginxВы также можете проверить статус службы Nginx, используя следующую команду:
systemctl status nginxВы должны увидеть следующий вывод:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
Docs: man:nginx(8)
Main PID: 4378 (nginx)
Tasks: 2 (limit: 2353)
Memory: 6.2M
CGroup: /system.slice/nginx.service
??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??4379 nginx: worker process
Aug 21 04:37:27 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 21 04:37:27 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
Проверка установки PHP на Nginx
Далее вам нужно создать пример PHP-файла для обслуживания через веб-сервер Nginx. Вы можете создать файл phpinfo.php в каталоге example.com:
nano /var/www/html/example.com/phpinfo.phpДобавьте следующую строку:
Сохраните и закройте файл, затем откройте веб-браузер и получите доступ к вашей PHP-странице, используя URL http://example.com/phpinfo.php. Вы должны увидеть вашу PHP-страницу на следующем экране:
Заключение
В приведенном выше руководстве мы объяснили, как установить LEMP-стек на Debian 11. Теперь вы можете начать хостинг вашего первого веб-сайта с использованием LEMP-стека. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.
Get new posts in your inbox
No spam. Unsubscribe anytime.