Новым пользователямБесплатные тарифы DNS и CDN для каждого нового аккаунта.Создать аккаунт

Развёртывание приложения

Развёртывание постоянно работающих приложений Node.js, Python и Go в выделенном контейнере, управление PHP-FPM, версиями PHP, расширениями и php.ini.

5 мин на чтение Обновлено 20 окт. 2026 г.

В этом руководстве описано, как развернуть постоянно работающее приложение Node.js, Python или Go в выделенном контейнере, управлять PHP-FPM, переключать версии PHP, устанавливать расширения и редактировать php.ini.

Среды выполнения

Каждый контейнер включает следующие среды выполнения, доступные через стандартный PATH (node, npm, python3, go, java, ruby, php и другие):

Среда выполненияВерсии
PHP8.1 и 8.2, переключаются из консоли
Node.js, Python, Go, Java, RubyПо одной версии каждой среды на образ

Точные версии указаны на карточке Среда выполнения во вкладке Управление конфигурацией контейнера.

Развёртывание приложения

Вкладка Управление приложениями на странице контейнера содержит четыре карточки сред выполнения: PHP-FPM, Node.js, Python и Golang. Если приложение ещё не развёрнуто, на карточках Node.js, Python и Golang отображается кнопка Развернуть приложение.

Шаг 1: Загрузите код

Код должен находиться в /var/www/html внутри контейнера или в подкаталоге этого каталога. На вкладке Управление файлами корень / соответствует /var/www/html контейнера. Можно загрузить архив и распаковать его на месте или использовать Удаленная загрузка для получения по URL. См. Файлы и запланированные задачи.

Если приложению нужны зависимости (например, устанавливаемые через npm install или pip install), соберите его локально и загрузите каталог вместе с зависимостями.

Шаг 2: Задайте параметры запуска

  1. Откройте страницу контейнера и перейдите на вкладку Управление приложениями.

  2. На карточке нужной среды выполнения нажмите Развернуть приложение.

  3. Заполните диалог:

    ПолеОписание
    Команда запускаПолная команда запуска приложения, например node app.js, npm start, python app.py, gunicorn app:app -b 0.0.0.0:$PORT или ./app
    Рабочий каталогКаталог, в котором выполняется команда. По умолчанию /var/www/html
    Порт прослушиванияПорт, который приложение прослушивает внутри контейнера. По умолчанию 3000; диапазон 1–65535
  4. Нажмите Развернуть и запустить. Когда появится «Приложение развёрнуто и запущено», статус карточки изменится на Работает.

Совет

Указанный порт передаётся процессу через переменную окружения PORT. Читайте PORT в коде (например, process.env.PORT в Node.js), чтобы не задавать порт жёстко.

Как выполняется команда запуска

  • Команда выполняется через /bin/sh -c, поэтому можно передавать аргументы, подставлять переменные окружения (например, $PORT) и использовать простой синтаксис оболочки.
  • Приложение работает от имени пользователя www контейнера. Убедитесь, что этот пользователь может читать файлы кода и записывать данные во все каталоги, используемые приложением для записи.
  • Менеджер процессов внутри контейнера контролирует приложение. Он запускает его при старте контейнера и автоматически перезапускает при непредвиденном завершении.
  • Для Go локально скомпилируйте двоичный файл под Linux, загрузите его и используйте команду вроде ./app.

Одно приложение на среду выполнения

Каждая карточка среды выполнения управляет одним процессом приложения. Например, карточка Node.js может запускать одно приложение Node.js. После развёртывания кнопка Развернуть приложение заменяется кнопками Запустить, Остановить, Перезапустить и Журналы.

Управление работающим приложением

На вкладке Управление приложениями:

  • Запустить / Остановить / Перезапустить управляют процессом приложения.
  • Журналы показывает последние 200 строк stdout и stderr приложения. Нажмите Обновить в диалоге, чтобы загрузить их заново.
  • Обновить статус обновляет все карточки сред выполнения. Каждая карточка показывает версию, PID и время работы, если эти данные доступны.

Если для среды выполнения ещё не развёрнуто приложение, её карточка показывает Остановлено и кнопку Развернуть приложение. Если нажать «Запустить» на этом этапе, появится сообщение о необходимости сначала развернуть приложение.

PHP-FPM

PHP-FPM по умолчанию работает в каждом контейнере, поэтому развёртывать его не требуется. Карточка PHP-FPM позволяет останавливать, запускать и перезапускать его, а также просматривать журналы.

Переключение версии PHP

  1. Нажмите Сменить версию PHP. Кнопка находится в разделе Быстрые действия на вкладке Обзор и на карточке Настройки PHP вкладки Управление конфигурацией.
  2. Выберите PHP 8.1 или PHP 8.2 и нажмите Подтвердить переключение.

После переключения PHP-FPM автоматически перезапускается; изменение затрагивает весь код, использующий PHP по умолчанию. Перед переключением проверьте совместимость кода с целевой версией.

Расширения и php.ini

Откройте вкладку Настройки PHP:

  • Расширения PHP: загруженные расширения отображаются зелёными метками. Нажмите на метку, чтобы отключить расширение; будьте осторожны с основными расширениями. Чтобы установить расширение, введите его имя (например, redis, imap, soap, gmp) и нажмите Установить. Расширения устанавливаются из официальных пакетов Alpine.
  • php.ini: редактирование полного php.ini активной версии PHP в браузере. При сохранении PHP-FPM автоматически выполняет горячий перезапуск.
Примечание

Расширения и php.ini относятся только к активной версии PHP. После переключения версий нажмите Обновить, чтобы загрузить конфигурацию этой версии.

Мониторинг и действия с контейнером

  • Вкладка Обзор показывает использование CPU, памяти и диска, сетевой трафик, а также лимиты CPU, памяти и диска контейнера.
  • Кнопки вверху страницы позволяют Запустить, Остановить и Перезапустить контейнер. Пока контейнер остановлен, все его приложения недоступны.
  • Можно Удалить контейнер из списка выделенных контейнеров. При удалении все его данные безвозвратно стираются и восстановлению не подлежат.

Развёртывание через API

Конечные точки, используемые консолью, можно вызывать напрямую. Передавайте токен входа в заголовке Authorization: Bearer <token>. container_id — это id, возвращаемый списком контейнеров.

bash
# List containers
curl -H "Authorization: Bearer $TOKEN" \
  https://api.yeap.cloud/api/user/host/containers

# Deploy a Node.js app
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  https://api.yeap.cloud/api/user/host/apps/create \
  -d '{"container_id": 123, "type": "nodejs", "config": "node app.js", "working_dir": "/var/www/html", "port": 3000}'

# App status and recent logs
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.yeap.cloud/api/user/host/apps/status?container_id=123&type=nodejs"
curl -H "Authorization: Bearer $TOKEN" \
  "https://api.yeap.cloud/api/user/host/apps/logs?container_id=123&type=nodejs&lines=200"

Значением type может быть nodejs, python или golang. Для запуска, остановки или перезапуска вызовите POST /api/user/host/apps/start, /stop или /restart с телом {"container_id": 123, "type": "nodejs"}.

Была ли эта страница полезна?