LEMP¶
В этой статье
Информация
LEMP — это стек технологий для веб-разработки с открытым исходным кодом, включающий операционную систему Linux, веб-сервер NGINX (произносится как "engine-x"), базу данных MySQL и интерпретатор языка PHP.
- Linux обеспечивает хостинг и управление сервером.
- NGINX работает как высокопроизводительный веб-сервер и прокси-сервер.
- MySQL — это реляционная база данных для хранения и обработки данных.
- PHP — это язык программирования для создания динамических веб-приложений.
LEMP. Основные возможности¶
- Контейнеризированное решение: стек LEMP доступен как в классическом развертывании, так и в контейнеризированном виде. Docker-контейнер обеспечивает изоляцию компонентов и их зависимостей, создавая идентичное окружение для разработки и продакшена.
- Высокая производительность: событийно-ориентированная архитектура NGINX позволяет эффективно обрабатывать тысячи параллельных соединений. Оптимизированная работа с PHP через FastCGI обеспечивает быструю обработку динамического контента, а продвинутое кэширование статических файлов снижает нагрузку на сервер.
- Гибкая конфигурация: LEMP предоставляет возможность настройки каждого компонента. NGINX поддерживает сложные схемы маршрутизации, балансировку нагрузки и кэширование. MySQL позволяет тонко настраивать параметры производительности и безопасности. PHP конфигурируется под конкретные нужды приложения с возможностью включения необходимых расширений и оптимизации использования памяти.
- Многофункциональность: PHP 8.3 поставляется с набором функций для современной веб-разработки. Поддерживается работа с различными форматами данных, шифрованием, сетевыми протоколами. MySQL обеспечивает надежное хранение данных с поддержкой транзакций, сложных запросов и репликации. NGINX предоставляет продвинутые возможности для маршрутизации запросов, терминации SSL и обработки медиа-контента.
- Безопасность: LEMP включает многоуровневую систему безопасности. NGINX обеспечивает защиту от DDoS-атак и других веб-угроз. MySQL предоставляет гибкое управление правами пользователей и шифрование данных. PHP настроен с учетом современных требований безопасности. Дополнительный уровень изоляции обеспечивается контейнеризацией, что предотвращает влияние уязвимостей одного компонента на другие.
- Масштабируемость: архитектура LEMP позволяет эффективно масштабировать приложения. NGINX поддерживает распределение нагрузки между несколькими серверами. MySQL обеспечивает репликацию данных и шардирование для больших объемов информации. PHP-FPM позволяет точно контролировать количество рабочих процессов. Контейнеризация упрощает развертывание дополнительных экземпляров приложения при росте нагрузки.
- Простота обновления: обновление компонентов LEMP может производиться независимо друг от друга. NGINX и PHP поддерживают обновление без прерывания работы сервиса. MySQL предоставляет инструменты для безопасного обновления базы данных. При использовании контейнеров возможно тестирование обновлений в изолированной среде перед применением в продакшене.
Особенности сборки¶
| ID | Имя ПО | Совместимые ОС | VPS | BM | VGPU | GPU | Мин. ЦПУ (Ядер) | Мин. ОЗУ (Гб) | Мин. HDD/SDD (Гб) | Доступно |
|---|---|---|---|---|---|---|---|---|---|---|
| 21 | LEMP | Ubuntu 22.04 | + | + | + | + | 1 | 1 | - | ЗАКАЗАТЬ |
Сборка разворачивается в Docker-контейнере с использованием образа adhocore/lemp:8.3. Для хранения данных используются следующие директории:
/root/dataдля файлов базы данных;/root/webrootдля файлов веб-сайта.
Примечание
Для работы с MySQL необходимо подключаться через Docker-контейнер, так как клиент MySQL не установлен на хост-системе. Используйте команду:
Примечание
Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.
Информация
Автоматически генерируемое описание процесса разворачивания сервера доступно по ссылке
Начало работы после развертывания LEMP¶
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и API — Invapi.
-
Логин и Пароль для подключения к серверу по SSH: приходят в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО. Пароль для подключения к базе данных совпадает с паролем для подключения к серверу по SSH.
-
NGINX:
- Веб-сервер доступен на порту 88
- Веб-содержимое размещается в директории
/root/webroot. Для размещения сайта скопируйте файлы в эту директорию. - Для проверки работы сервера создайте тестовый файл:
- Доступ:
http://<ваш_IP_сервера>:88/test.html

-
MySQL:
- База данных доступна на порту 3306
- Данные хранятся в
/root/data - Пароль root совпадает с паролем SSH-доступа к серверу
- Для подключения используйте:
Важно: Подключение к базе данных из PHP
При настройке веб-приложений (WordPress, Laravel и т.д.) используйте в качестве хоста базы данных:
127.0.0.1вместоlocalhostПример для WordPress в wp-config.php:
Использование
localhostприводит к ошибке:Fatal error: Uncaught mysqli_sql_exception: No such file or directoryПричина: PHP пытается подключиться через Unix socket, который недоступен по пути по умолчанию в контейнере.
-
PHP 8.3:
- Установлен в контейнере со всеми необходимыми расширениями
- Работает через FastCGI для повышенной производительности
- Для проверки работы PHP создайте файл info.php в директории
/root/webroot:
-
Порты:
- 88: Web (NGINX)
- 3306: MySQL
- 5432: PostgreSQL
Примечание
Все команды для работы с базой данных необходимо выполнять через Docker-контейнер с помощью команды docker exec. Контейнер работает в выделенной сети lemp-net для улучшенной изоляции и безопасности.
Примечание
Подробная информация по работе с базой данных содержится в документации разработчиков.
Заказ сервера с LEMP с помощью API¶
Для установки данного ПО с использованием API следуйте этой инструкции.