Pull to refresh

Как развернуть Node JS приложение на Yandex Compute Cloud

Level of difficultyMedium

Данная инструкция не подходит для production решений, используйте исключительно для pet проектов.

  1. Создает репозиторий на github и пушим в него проект с node js приложением

  2. Создаем аккаунт на Yandex Cloud

  3. Создаем облако

  4. Создаем каталог в облаке

  5. Переходим в сервис Compute Cloud

5. Создаем виртуальную машину

Кнопка “Создать ВМ”
Кнопка “Создать ВМ”

6. Указываем любое понятное имя, описание (необязательно), любую из зон доступности.

7. В качестве загрузочного диска выбираем Ubuntu 22.04

8. Размер памяти и мощность процессора выбираем минимальные, подходящие под ваши требования, чтобы снизить стоимость. После создания ВМ эти параметры можно будет отредактировать и «прокачать железо», если необходимо.

9. Сетевые настройки оставляем по умолчанию

  1. В разделе «Доступ» указываем логин пользователя (имя, под которым вы будете заходить на ВМ) и вставляем свой публичный ssh ключ, чтобы иметь возможность подключиться к ВМ

11. Нажимаем кнопку “Создать ВМ”

12. Дожидаемся, пока ВМ перейдет из статуса Provisioning в статус Running

13. Копируем публичный IP адрес ВМ и подключаемся к ней по ssh через терминал нашего компьютера

ssh <логин пользователя>@<публичный ip адрес ВМ>

14. Генерируем ssh ключ на виртуальной машине и добавляем его в свой аккаунт на github

ssh-keygen -t ed25519 -C "your_email@example.com"

15. Клонируем проект с git на виртуальную машину через ssh

git clone git@github.com:<путь к проекту на github>.git

16. Переходим в папку со склонированным проектом

cd <название папки с проектом>

17. Устанавливаем nvm на виртуальную машину

18. Ставим node js той версии, которую вы использовали при локальной разработке

nvm install <версия node js>

19. Устанавливаем зависимости

npm i

20. Устанавливаем pm2 для запуска непрерываемого node js приложения

npm install pm2 -g

21. Запускаем node js приложение через pm2

pm2 start index.js

22. Бинго!

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.