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

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 не установлен на хост-системе. Используйте команду:

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

    При настройке веб-приложений (WordPress, Laravel и т.д.) используйте в качестве хоста базы данных:

    127.0.0.1 вместо localhost

    Пример для WordPress в wp-config.php:

    define('DB_HOST', '127.0.0.1');
    

    Использование localhost приводит к ошибке: Fatal error: Uncaught mysqli_sql_exception: No such file or directory

    Причина: PHP пытается подключиться через Unix socket, который недоступен по пути по умолчанию в контейнере.

  • 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 следуйте этой инструкции.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×