Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Обновлено 10 сентября 2026 г.
Веб-хостинг и инфраструктура

LEMP-стек

Nginx, MariaDB, PHP-FPM и phpMyAdmin на одном сервере - классическая база под WordPress, Laravel или самописный сайт. Развернули стек на Fatmetal Cloud Server, замерили ресурсы, проверили запись в базу и разобрали, где он ломается.

Июль 2026 ~8 минут чтения Fatmetal Team
Веб-хостинг Ubuntu 24.04 Статус: запущен у нас, проверена запись в БД

Вердикт

Подходит
  • под один-два PHP-сайта: WordPress, Laravel, самописное на PHP
  • кому нужен прозрачный хостинг без панели и абонплаты за нее
  • кто хочет полный root-доступ к серверу и контроль над конфигами
Не подходит
  • нужна managed-БД, автоскейл, Kubernetes или изоляция десятков сайтов
  • не готовы сами следить за обновлениями и бэкапами базы
Мин. тариф: CPU2-RAM4-DISK50 Цена: 500 руб/мес Сложность: low-medium RAM в покое: 533 MB Главный риск: юзер nginx против сокета PHP-FPM - 502 Прод-готовность: TLS есть, добавить бэкап БД и обновления

Проверено на Nginx 1.30.3 / MariaDB 11.8.8 / PHP 8.3.6 / phpMyAdmin 5.2.3, Ubuntu 24.04, июль 2026. На новых версиях результаты могут отличаться.

Что это

Что такое LEMP и что он заменяет

LEMP - это набор из четырех компонентов на одном сервере: Linux, nginx (буква E - от произношения engine-x), MariaDB (замена MySQL) и PHP. Плюс phpMyAdmin для работы с базой через браузер. Это классическая связка, на которой работает огромная доля веба: nginx принимает HTTP-запросы и отдает статику, PHP-FPM исполняет код приложения, MariaDB хранит данные. Готовый LEMP - это не абстрактная теория, а собранная и настроенная база, на которую вы кладете свой сайт: WordPress, Laravel или что-то самописное.

Чаще всего LEMP берут как альтернативу хостинг-панелям вроде cPanel или ISPmanager для простого случая - когда нужен один-два сайта, а не сотня клиентских аккаунтов с изоляцией и биллингом. За панель вы платите лицензией и получаете слой абстракции; за LEMP вы платите только за сервер и получаете прямой контроль над конфигами. Управление базой при этом остается удобным: phpMyAdmin дает тот же веб-интерфейс к MariaDB, что и панель, но без всего остального.

Nginx 1.30.3MariaDB 11.8.8PHP 8.3.6-FPMphpMyAdmin 5.2.3Ubuntu 24.04
Сравнение

LEMP против панели и против PaaS

Сравнение по тому, что влияет на выбор.

ПараметрLEMP на своем сервереПанель (cPanel / ISPmanager) или PaaS
ЦенаТолько сервер (500 руб/мес)Сервер плюс лицензия панели или подписка PaaS
КонтрольПолный root, свои конфиги nginx и PHPПанель - через ее интерфейс; PaaS - ограничен платформой
Изоляция многих сайтовРучная, все в одном системном окруженииГотовые аккаунты с квотами и изоляцией
Обновления и бэкапыНа вас: apt, дампы БД, снапшотыЧасть автоматизирует панель или платформа
Порог входаНужна база по Linux и nginxКлик в веб-интерфейсе
Ресурсы в покое533 MB RAM - легкийПанель добавляет свои демоны сверху
Под капотом

Из чего собран стек

Мы не берем случайные версии из системного репозитория, а собираем стек из проверенных источников. Nginx 1.30.3 - из официального репозитория nginx.org (ветка stable), а не из Ubuntu. MariaDB 11.8.8 - из официального репозитория MariaDB, это серия 11.8 LTS с долгой поддержкой. PHP 8.3.6-FPM - stock-версия Ubuntu 24.04; ветка 8.3 активна, security-фиксы к ней идут примерно до 2027 года. phpMyAdmin 5.2.3 ставится tarball-ом - это последний релиз на момент сборки.

Связка внутри работает так: nginx слушает 80 и 443, статику отдает сам, а запросы к .php передает по Unix-сокету в PHP-FPM. PHP-FPM исполняет код и при необходимости ходит в MariaDB. MariaDB слушает только localhost (127.0.0.1:3306) и наружу не торчит - это важная деталь безопасности. Демо-приложение в нашей сборке - простая гостевая книга: форма пишет запись в MariaDB через PHP, и запись сразу видна на странице. Это доказывает, что весь путь nginx -> PHP -> база работает, а не просто отдается статичный index.

nginx.org stableMariaDB 11.8 LTSPHP 8.3 FPMUnix-сокет FPMLet's Encrypt TLS
Демо

Как выглядит рабочий стек

Живой стенд: демо-сайт и phpMyAdmin с реальными данными.

Демо-сайт LEMP: версии Nginx/PHP/MariaDB и гостевая книга с записями в БД
Демо-сайт на живом стенде: страница показывает версии nginx 1.30.3, PHP 8.3.6, MariaDB 11.8.8 и гостевую книгу, куда PHP пишет записи в базу.
Залогиненный phpMyAdmin: сводка сервера MariaDB 11.8.8, Nginx 1.30.3, PHP 8.3.6
Залогиненный phpMyAdmin: сводка сервера с версиями MariaDB, nginx и PHP.
phpMyAdmin: структура базы demo_app
Структура базы demo_app в phpMyAdmin - в нее пишет демо-приложение.
phpMyAdmin: таблица guestbook с реальными записями
Таблица guestbook с реальными записями - их через форму на сайте добавил PHP.
Развертывание

В маркетплейсе Fatmetal

Не хотите ставить руками?

Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и файл с доступами.

Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес

Развернуть в 1 клик →

Развертывание на Fatmetal

Fatmetal Cloud Server, тариф CPU2-RAM4-DISK50, Ubuntu 24.04.

  1. Создать VM

    Тариф CPU2-RAM4-DISK50 (500 руб/мес), Ubuntu 24.04. Два ядра и 4 GB RAM - с запасом для одного-двух сайтов.

  2. Развернуть стек

    Install-скрипт ставит nginx из nginx.org, MariaDB 11.8 из официального репозитория, PHP 8.3-FPM и phpMyAdmin, создает базу и MySQL-пользователя приложения, прописывает конфиги. Все сервисы уходят в systemd enable - стек переживает ребут.

  3. Домен и TLS

    Fatmetal дает magic-DNS: домен вида <ip-с-дефисами>.fatmetal.net резолвится в IP сервера автоматически. Сертификат выпускается через Let's Encrypt, http редиректит на https (301). Отдельно покупать домен для старта не нужно.

i

VM подняли AI-агентом через MCP-сервер Fatmetal. Провижн сервера, установка стека, DNS через magic-DNS и сертификат Let's Encrypt - все сделано инструментами на нашей инфраструктуре. На проверке: curl https://<домен>/ вернул HTTP 200 за 0.38 с, сертификат от Let's Encrypt (не self-signed), POST в гостевую книгу реально записал строку в MariaDB.

Замеры

Что измерили после запуска

Цифры с тестового CPU2-RAM4-DISK50, Ubuntu 24.04, в покое.

RAM в покое (used / total)533 / 3915 MB
Диск в покое (used)2.3 GB (5%)
RSS nginx / mariadbd26 / 117 MB
Слушают наружу0.0.0.0:80, 0.0.0.0:443
MySQLтолько 127.0.0.1:3306 (не торчит наружу)
Ответ https-корняHTTP 200 за 0.38 c
Запись в базупроверена: POST в гостевую книгу дошел до MariaDB
Переживает ребутда, все сервисы поднимаются сами
i

Стек легкий: 533 MB RAM в покое из 4 GB. Диск занят на 2.3 GB - остальные ~46 GB под ваш сайт, загрузки и базу. тарифа CPU2-RAM4-DISK50 за 500 руб/мес хватает под один-два PHP-сайта; запас по RAM и диску большой.

Доступ

Как войти

Сайт открывается по домену magic-DNS (https://<ip-с-дефисами>.fatmetal.net/). Управление базой - через phpMyAdmin по адресу /phpmyadmin/ на том же домене. Вход в phpMyAdmin - не отдельным аккаунтом, а MySQL-пользователем приложения (в нашей сборке это пользователь demo).

Пароли не зашиты в статью и не пересылаются - они лежат в файле на самом сервере: /root/lemp-credentials.txt (права 600, доступен только root). В нем домен, адрес phpMyAdmin, имя и пароль MySQL-пользователя приложения, имя базы и root-пароль MariaDB. Пароли генерируются заново на каждом деплое, так что дефолтных общих значений нет. Чтобы войти в phpMyAdmin, зайдите на сервер по SSH, прочитайте файл и используйте пару пользователя приложения.

i

MariaDB слушает только localhost. Снаружи в базу не подключиться напрямую - только через phpMyAdmin (за TLS) или по SSH-туннелю. Это осознанное решение: порт 3306 наружу не открыт.

Подводные камни

Где может сломаться

На что наткнулись при сборке и за чем следить в проде.

502 Bad Gateway на .php: Permission denied (13) при подключении к сокету PHP-FPM

Причина. Пакет nginx с nginx.org запускает воркеры под пользователем nginx, а сокет PHP-FPM принадлежит www-data. Воркер не может открыть чужой сокет и отдает 502.

Решение. Привести пользователей к одному: прописать user www-data; в nginx.conf (у нас это уже зашито в install-скрипт). Классические грабли именно nginx.org-пакета, стоковый Ubuntu-nginx уже под www-data.

!

phpMyAdmin открыт наружу. Он доступен по /phpmyadmin/ за TLS, но это публичный вход в вашу базу. Для прода ограничьте доступ (по IP, basic-auth или вынесите за SSH-туннель) и держите phpMyAdmin обновленным - это популярная мишень сканеров.

!

Обновления на вас. Панели тут нет: следить за security-апдейтами nginx, PHP и MariaDB через apt придется самому. PHP 8.3 получает фиксы примерно до 2027 - потом планируйте переход на новую ветку.

!

Бэкап базы не настроен из коробки. Снапшот диска - это про всю VM, но для базы надежнее регулярный mysqldump в отдельное место. Без бэкапа потеря диска означает потерю данных сайта.

Рядом

Связь с другими стеками

  • WordPress - кладется прямо на LEMP: корень nginx на папку сайта, база в MariaDB, wp-config на MySQL-пользователя приложения.
  • Laravel - тоже ложится на этот стек: PHP 8.3-FPM подходит, корень nginx на /public, миграции в MariaDB.
  • Бэкапы - дампы MariaDB (mysqldump) плюс снапшоты диска VM.
  • Свой домен - вместо magic-DNS можно направить A-запись на IP и перевыпустить сертификат Let's Encrypt на нужное имя.
Честно

Когда это НЕ ваш выбор

Нужна managed-база данных

Если хотите, чтобы кто-то другой отвечал за бэкапы, репликацию и обновления СУБД - берите managed-DB или PaaS. В LEMP база это ваш MariaDB на том же сервере, за который отвечаете вы.

Нужен автоскейл или Kubernetes

LEMP - это один сервер. Горизонтальное масштабирование, автоскейл под нагрузку и оркестрация - это к Kubernetes или облачным PaaS, а не к одиночной VM с nginx и PHP.

Много сайтов с изоляцией

Десятки клиентских сайтов с квотами, отдельными аккаунтами и биллингом - это работа хостинг-панели (cPanel, ISPmanager). На голом LEMP изоляцию придется городить руками, и это быстро становится больно.

FAQ

Частые вопросы

Чем LEMP отличается от LAMP?

Буквой M против A: в LEMP веб-сервер nginx (engine-x), в LAMP - Apache. nginx экономнее по памяти и лучше отдает статику под нагрузкой; в остальном стек тот же - Linux, база, PHP.

Можно поставить сюда WordPress?

Да, это одна из основных задач стека. nginx-корень на папку WordPress, база в MariaDB, доступ к базе через phpMyAdmin. Laravel и самописные PHP-сайты - так же.

MariaDB торчит наружу?

Нет. Она слушает только 127.0.0.1:3306. Снаружи в базу можно попасть лишь через phpMyAdmin (за TLS) или SSH-туннель. Порт 3306 наружу не открыт.

Где взять пароль от phpMyAdmin?

В файле /root/lemp-credentials.txt на самом сервере (права 600). Вход - MySQL-пользователем приложения. Пароли генерируются заново на каждом деплое.

Почему nginx, а не из репозитория Ubuntu?

Берем ветку stable с nginx.org - там свежее и предсказуемее по версиям. Побочный эффект - воркеры под пользователем nginx, из-за чего важно свести их с www-data сокета PHP-FPM (см. раздел про 502).

Хватит ли тарифа CPU2-RAM4-DISK50?

Для одного-двух сайтов да: в покое стек ест 533 MB RAM из 4 GB и 2.3 GB диска из 48. Запас большой; под тяжелый трафик или много сайтов берите тариф крупнее.

Можно в продакшен?

Да: TLS уже есть. Перед боем ограничьте доступ к phpMyAdmin, настройте регулярный дамп базы и следите за apt-обновлениями nginx, PHP и MariaDB.

Итог

LEMP - это проверенная временем база под PHP-сайты: nginx 1.30.3, MariaDB 11.8.8 LTS, PHP 8.3.6-FPM и phpMyAdmin 5.2.3 на Ubuntu 24.04. В покое стек занимает 533 MB RAM и 2.3 GB диска, спокойно живет на тарифе CPU2-RAM4-DISK50 за 500 руб/мес, отдает https с валидным сертификатом Let's Encrypt и реально пишет данные в базу. Честные оговорки: обновления и бэкап базы на вас, phpMyAdmin надо прикрыть, а nginx.org-пакет требует свести пользователя с сокетом PHP-FPM. Для одного-двух сайтов без панели и абонплаты - удобный и прозрачный вариант.

Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe

Не хотите устанавливать вручную?

Запустите LEMP на этой конфигурации автоматически - от 450 ₽/мес.

Запустить LEMP →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли неточность в гайде - напишите, поправим в течение дня.

Спросить инженера в TelegramМы на связи