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

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.