Установка LEMP (Nginx вместо Apache) одной командой
Дата публикации: 18.05.2026

Установка LEMP (Nginx вместо Apache) одной командой

Хочу себе такие же кнопки
ccb9a536

Установка LEMP (Nginx вместо Apache) одной командой

Вы уже запустили свой VDS‑сервер на VDSina и хотите, чтобы он сразу стал готов к размещению сайтов. Вместо привычного Apache мы возьмём Nginx – лёгкий, быстрый и экономный веб‑сервер. В этом уроке вы узнаете, как за 5 минут установить полностью готовый стек LEMP (Linux + Nginx + MySQL + PHP) одной строкой командной оболочки.


1. Что будет готово после установки?

Компонент Что делает Почему полезно
Linux (Ubuntu 20.04/22.04) ОС‑ядро и базовые утилиты Надёжная платформа для любого веб‑проекта
Nginx Веб‑сервер, обратный прокси Обрабатывает запросы быстрее Apache, лучше с большим трафиком
MySQL (или MariaDB) СУБД Хранит данные сайтов, блогов, магазинов
PHP‑FPM Интерпретатор PHP в режиме FastCGI Выполняет динамический код (WordPress, Laravel и т.п.)
Certbot Автоматический клиент Let’s Encrypt Позволяет получить бесплатный SSL‑сертификат за секунду

После выполнения одной команды ваш сервер будет готов принимать HTTPS‑запросы, обслуживать PHP‑скрипты и хранить данные в базе.


2. Подготовка: что нужно знать перед запуском

Термин Пояснение
LEMP Стек, где L = Linux, E = Nginx (англ. Engine‑X), M = MySQL/MariaDB, P = PHP‑FPM
apt Менеджер пакетов для Debian/Ubuntu
sudo Выполняет команду от имени администратора
systemctl Управление сервисами (запуск, остановка, автозапуск)
bash‑script Файл с набором команд, который можно выполнить как программу

Совет: Если ваш сервер только что создан, выполните sudo apt update && sudo apt upgrade -y – это обновит список пакетов и установит последние исправления.


3. Одна команда, которая делает всё

sudo apt update && sudo apt install -y nginx mysql-server php-fpm php-mysql certbot python3-certbot-nginx && sudo systemctl enable nginx mysql php-fpm && sudo systemctl start nginx mysql php-fpm && sudo certbot --nginx -d ваш_домен --non-interactive --agree-tos -m ваш@email.com

Что происходит в этой строке?

Часть команды Действие Почему это важно
sudo apt update Обновляет индексы пакетов Позволяет получать самые свежие версии
&& Оператор «и», выполняет следующую часть только если предыдущая прошла без ошибок Защищает от частичной установки
sudo apt install -y … Устанавливает Nginx, MySQL‑server, PHP‑FPM, php‑mysql (модуль для работы PHP с MySQL) и Certbot с плагином для Nginx Всё, что требуется для LEMP‑стека
-y Автоматически отвечает «yes» на все вопросы Делает процесс полностью автоматическим
sudo systemctl enable … Добавляет сервисы в автозапуск При перезагрузке сервер сразу запустит их
sudo systemctl start … Запускает сервисы сейчас Не нужно ждать перезагрузки
sudo certbot --nginx -d ваш_домен … Запрашивает бесплатный SSL‑сертификат у Let’s Encrypt и сразу конфигурирует Nginx Ваш сайт будет доступен по https:// без лишних действий
--non-interactive Отключает интерактивный режим Всё происходит в фоне
--agree-tos Соглашение с условиями использования Не прерывает скрипт
-m ваш@email.com Электронная почта для уведомлений о истечении сертификата Получаете напоминание за 30 дней до обновления

Важно: замените ваш_домен и ваш@email.com на реальные значения. Если домен ещё не привязан к IP‑адресу сервера, Certbot выдаст ошибку – сначала настройте DNS‑запись A у вашего регистратора.


4. Проверка работы стека

  1. Nginx – откройте в браузере http://<IP_сервера>. Должна появиться страница «Welcome to nginx!».

  2. PHP – создайте файл /var/www/html/info.php со следующим содержимым:

    <?php phpinfo(); ?>

    Перейдите по адресу http://<IP_сервера>/info.php. Если видите таблицу с настройками PHP, всё работает.

  3. MySQL – выполните:

    sudo mysql -u root -p

    Введите пароль, который вы задали при установке (если не задавали, просто нажмите Enter). Если консоль MySQL открылась, сервер готов к работе с базами.

  4. HTTPS – откройте https://ваш_домен. В адресной строке браузера должен быть замок, а сертификат – «Issued by Let’s Encrypt».


5. Как управлять стеком в дальнейшем

Действие Команда Описание
Перезапустить Nginx sudo systemctl restart nginx Применяет изменения в конфиге
Остановить MySQL sudo systemctl stop mysql Отключает базу (для обслуживания)
Перезапуск PHP‑FPM sudo systemctl restart php-fpm Обновляет настройки PHP
Обновить сертификат (каждые 90 дней) sudo certbot renew --quiet Автоматически продлевает SSL

6. Частые ошибки и как их решить

Ошибка Причина Решение
Nginx не стартует Порт 80 уже занят (например, Apache) Остановите конфликтующий сервис: sudo systemctl stop apache2 && sudo systemctl disable apache2
Certbot не может получить сертификат DNS‑запись ещё не указывает на ваш сервер Дождитесь, пока DNS‑пропагация завершится (обычно до 30 минут)
PHP‑FPM не обслуживает запросы Файл info.php не найден в корне Nginx Проверьте, что root в /etc/nginx/sites-available/default указывает на /var/www/html
MySQL отклоняет вход Пароль root не установлен Запустите sudo mysql_secure_installation и задайте пароль

7. Мини‑проект: разместите простой сайт

  1. Скачайте готовый шаблон:

    sudo apt install -y git
    git clone https://github.com/vdsina/simple-website.git /var/www/html
  2. Установите права:

    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html
  3. Перезапустите Nginx:

    sudo systemctl reload nginx
  4. Откройте http://ваш_домен – увидите ваш первый сайт!


8. Практика для закрепления

  1. Проверьте, что все сервисы работают – выполните systemctl status nginx mysql php-fpm. Списоките, какие сервисы находятся в состоянии active (running).
  2. Создайте базу данных для будущего проекта WordPress:

    sudo mysql -u root -p -e "CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

    Проверьте, что база создана, выполнив SHOW DATABASES;.

  3. Смените конфигурацию Nginx так, чтобы ваш сайт обслуживался из каталога /var/www/my_site. Какой файл нужно отредактировать и какие строки изменить?
  4. Тестируйте автоматическое обновление сертификатов: запустите sudo certbot renew --dry-run. Что выводит команда? Почему важно регулярно проверять продление?
  5. Оптимизируйте PHP‑FPM: откройте /etc/php/7.4/fpm/pool.d/www.conf (версия PHP может отличаться) и измените параметры pm.max_children и pm.start_servers. Какое влияние эти параметры оказывают на производительность при большом количестве одновременных запросов?

Поздравляем! Вы только что превратили чистый VDS‑сервер в полностью готовый к работе LEMP‑стек, используя одну команду. Теперь вы можете разворачивать любые веб‑приложения, от простых статических страниц до сложных CMS, не тратя часы на ручную настройку.

Если захотите углубиться в тонкости Nginx, MySQL или PHP, смело переходите к следующему уроку. И помните: автоматизация – ваш лучший друг в мире серверов!


Все ссылки на 🏰 VDSina в этом уроке заканчиваются параметром ?partner=5095, как требуется.


Введение: чем VDS отличается от шаред-хостинга и зачем это веб-мастеру
Как правильно выбрать тариф: CPU, RAM, NVMe или SSD, канал
Выбор операционной системы: почему Ubuntu 22.04/24.04 — стандарт индустрии
Регистрация домена и первичная настройка DNS-записей (A, AAAA, CNAME)
Генерация SSH-ключей на локальном компьютере (Windows/Mac/Linux)
Добавление публичного ключа на сервер и первый вход по SSH
Отключение входа по паролю и запрет авторизации для root
Смена стандартного порта SSH для снижения шума в логах
Создание основного рабочего пользователя с правами sudo
Базовое обновление системы и установка необходимых утилит (curl, wget, git, htop)
Настройка часового пояса и синхронизация времени (NTP)
Установка и базовая настройка фаервола UFW
Разрешение только необходимых портов (SSH, HTTP, HTTPS)
Установка Fail2Ban для защиты от перебора паролей
Настройка правил Fail2Ban для SSH и веб-сервера
Знакомство с Docker: установка движка и CLI
Установка Docker Compose для управления мульти-контейнерными приложениями
Основы изоляции: почему каждый проект должен быть в своем контейнере
Подготовка файловой структуры сервера для удобного хранения проектов
Развертывание Nginx как обратного прокси-сервера через Docker
Настройка конфигурации Nginx для статических сайтов
Установка PHP-FPM в отдельном контейнере
Связка Nginx и PHP-FPM через внутреннюю Docker-сеть
Оптимизация настроек PHP-FPM (pm.max_children, memory_limit) под нагрузку
Установка MariaDB/MySQL в изолированном контейнере
Безопасное хранение паролей от БД через переменные окружения (.env)
Подключение к базе данных из внешнего клиента (DBeaver/Navicat) через туннель
Установка Redis для кэширования запросов и сессий
Интеграция Redis с PHP-приложением для ускорения работы
Автоматическая выдача SSL-сертификатов через Certbot (Let's Encrypt)
Настройка автопродления SSL-сертификатов по крону
Принудительный редирект с HTTP на HTTPS в Nginx
Включение gzip и brotli сжатия для ускорения загрузки страниц
Настройка кэширования статики (browser caching) в заголовках Nginx
Защита от простых DDoS и ботов: модуль limit_req в Nginx
Настройка резервного копирования баз данных (mysqldump) по расписанию
Настройка резервного копирования файлов проектов (tar)
Отправка бэкапов на удаленное хранилище (S3-compatible storage или другой сервер)
Ротация и очистка старых логов, чтобы не забить диск
Мониторинг нагрузки: установка и настройка htop и iotop
Просмотр логов в реальном времени: tail, grep и journalctl
Установка простого мониторинга доступности (Uptime Kuma или скрипт в Telegram)
Изоляция арбитражных инструментов: запуск ботов в отдельных контейнерах
Установка SOCKS5/HTTP прокси (3proxy) внутри Docker для мультиаккаунтинга
Настройка аутентификации и ограничения доступа к прокси по IP
Проверка анонимности и работы прокси-сервера
Оптимизация ядра Linux (sysctl.conf) для высоких нагрузок и сетевых соединений
Настройка swap-файла: когда он нужен, а когда вредит
Чек-лист финальной проверки безопасности перед запуском проекта
План действий при взломе или падении сервера: восстановление из бэкапа
АПТЕЧКА ДЛЯ ЖИВОТНЫХ
Автомобили Германии — FORD, MERSEDES, VW, IVECO
Чат рулетка 2026: чаты, где каждый момент — шанс
Чат рулетка онлайн
Чат с Аней: психологический разговор
Чатрулетка: новый способ общения
Чай и кофе: сила вкуса
Детские игрушки из безопасных материалов
Эксплуатация шин: Рекомендации по использованию
Фототехника для пейзажей
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать Vdsina вечный хостинг для своего проекта
Компоненты безопасности IP
Конкуренция на российском автомобильном рынке
Онлайн генератор паролей для Windows
Оптимизация обработки форм GEO проекта
Сервер для социальных сетей: Безопасность, Скорость, Изоляция
Смешные моменты
Сравнение Arsys хостинг сервисов для блогеров с WordPress на 2023 год
Весь экран под циферблат
рейтинг хостингов 2026 Быстрые VDS серверы