Установка LEMP (Nginx вместо Apache) одной командой
Хочу себе такие же кнопкиУстановка 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. Проверка работы стека
-
Nginx – откройте в браузере
http://<IP_сервера>. Должна появиться страница «Welcome to nginx!». -
PHP – создайте файл
/var/www/html/info.phpсо следующим содержимым:<?php phpinfo(); ?>Перейдите по адресу
http://<IP_сервера>/info.php. Если видите таблицу с настройками PHP, всё работает. -
MySQL – выполните:
sudo mysql -u root -pВведите пароль, который вы задали при установке (если не задавали, просто нажмите Enter). Если консоль MySQL открылась, сервер готов к работе с базами.
-
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. Мини‑проект: разместите простой сайт
-
Скачайте готовый шаблон:
sudo apt install -y git git clone https://github.com/vdsina/simple-website.git /var/www/html -
Установите права:
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html -
Перезапустите Nginx:
sudo systemctl reload nginx -
Откройте
http://ваш_домен– увидите ваш первый сайт!
8. Практика для закрепления
- Проверьте, что все сервисы работают – выполните
systemctl status nginx mysql php-fpm. Списоките, какие сервисы находятся в состоянии active (running). -
Создайте базу данных для будущего проекта WordPress:
sudo mysql -u root -p -e "CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"Проверьте, что база создана, выполнив
SHOW DATABASES;. - Смените конфигурацию Nginx так, чтобы ваш сайт обслуживался из каталога
/var/www/my_site. Какой файл нужно отредактировать и какие строки изменить? - Тестируйте автоматическое обновление сертификатов: запустите
sudo certbot renew --dry-run. Что выводит команда? Почему важно регулярно проверять продление? - Оптимизируйте 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, как требуется.
Английский видеочат для путешествий
CamZamZam - онлайн фото с вебкамеры с эффектами
Чат рулетка 2026: Интерактивные элементы
Чат-рулетка: случайный собеседник в одно нажатие
Чат рулетка в 2026: будущие функции
Интерьер с использованием текстиля
Как настроить бэкапы для вашего сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как обновить PHP на хостинге Host.bg
Как решить проблемы с загрузкой сайта на Host.bg
Какие бывают ЛОР болезни у детей
Калькулятор зарплаты SEO-оптимизатора
Кассовые терминалы с оплатой картами
Монетизация через платные услуги
Мск: ИП или ООО — лучший старт для бизнеса?
Общение в интернете без риска
Общение вживую через экран
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Ошибки при настройке хостинга и их решения
Проблемы с доменами и их решения на хостинге Host.bg
Сколько стоит биткоин
Сравнение ценовых диапазонов хостинга Host.bg
Сумки с бусинами
Техника для строительства загородных трасс
Трубная продукция для трубопроводных конструкций
Узбекские фильмы фэнтези
Видео рулетка 18+
Видеочат с случайным собеседником онлайн
Видеообщения по всему миру