Перейти к содержанию

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 Ubuntu 22.04 + + + + 1 1 - Да

Сборка разворачивается в Docker-контейнере с использованием образа adhocore/lemp:8.3. Для хранения данных используются следующие директории:

  • /root/data для файлов базы данных;
  • /root/webroot для файлов веб-сайта.

Примечание

Для работы с MySQL необходимо подключаться через Docker-контейнер, так как клиент MySQL не установлен на хост-системе. Используйте команду:

docker exec -it lemp-stack mysql -u root -p

Примечание

Если не указано иное, по умолчанию мы устанавливаем последнюю релиз версию программного обеспечения с сайта разработчика или репозиториев операционной системы.

Начало работы после развертывания LEMP

После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем будет указан IP-адрес VPS, а также логин и пароль для подключения. Управление оборудованием клиенты нашей компании осуществляют в панели управления серверами и APIInvapi.

  • Логин и Пароль для подключения к серверу по SSH: приходят в письме на вашу электронную почту при готовности сервера к работе после развертывания ПО. Пароль для подключения к базе данных совпадает с паролем для подключения к серверу по SSH.

  • NGINX:

    • Веб-сервер доступен на порту 88
    • Веб-содержимое размещается в директории /root/webroot. Для размещения сайта скопируйте файлы в эту директорию.
    • Для проверки работы сервера создайте тестовый файл:
      echo "Hello World!" > /root/webroot/test.html
      
    • Доступ: http://<ваш_IP_сервера>:88/test.html

  • MySQL:

    • База данных доступна на порту 3306
    • Данные хранятся в /root/data
    • Пароль root совпадает с паролем SSH-доступа к серверу
    • Для подключения используйте:
      docker exec -it lemp-stack mysql -u root -p
      
  • PHP 8.3:

    • Установлен в контейнере со всеми необходимыми расширениями
    • Работает через FastCGI для повышенной производительности
    • Для проверки работы PHP создайте файл info.php в директории /root/webroot:
      echo "<?php phpinfo(); ?>" > /root/webroot/info.php
      
  • Порты:

    • 88: Web (NGINX)
    • 3306: MySQL
    • 5432: PostgreSQL

Примечание

Все команды для работы с базой данных необходимо выполнять через Docker-контейнер с помощью команды docker exec. Контейнер работает в выделенной сети lemp-net для улучшенной изоляции и безопасности.

Примечание

Подробная информация по работе с базой данных содержится в документации разработчиков.

Заказ сервера с LEMP с помощью API

Для установки данного ПО с использованием API следуйте этой инструкции.