@angelzzz

Как перенести nodejs проект на хостинг DigitalOcean?

Нужно загрузить проект, написанный на nodejs на хостинг DigitalOcean.

Делаю это впервые.
1. Создал дроплет, настроил nginx, firewall и установил node по туториалам DO. Подключился через filezilla.
2. Просто гружу все файлы, которые у меня есть в локальном проекте, и которые запускаю просто "npm start" в папку var/www/projectname/html? Или грузить все без node_modules и потом на сервере их заново устанавливать через npm install? В общем, как это правильно делается?
  • Вопрос задан
  • 873 просмотра
Решения вопроса 1
@StonedCatt
Frontend developer
Хорошее из решений, если у вас nodejs backend.. :

Поддерживаю все ранее данные ответы по поводу гита, но -> Заведите приватный репозиторий в битбаките. Заведите файл .gitignore ( там обязательно пропишите node_modules).
Далее ->
Посмотрите в сторону pm2, это менеджер бесперебойной работы приложения. Найдите туториал для настройки pm2 в вашем проекте, обязательно установите плагин pm2-auto-pull и настройте аналитику вашего сервера (при помощи keymetrics - это настраивается через консоль при помощи того же pm2*) Всё это делается через консоль (Поищите приличный туториал).
После того, как проект будет в битбакете и там будет pm2 и pm2-auto-pull можно на сервере склонировать ваш репозиторий, поднять pm2 и плагин для автодеплоя с битбакета. И теперь ваш сервер может сам стучать на гит и обновляться с ветки (например master).

Либо склонируйте бэк на сервер и когда нужно обновляйте его в ручную, тоже норм вариант.

На сервере стоит иметь ноду ту же, что у вас в локальном окружении (чтобы уж точно без ошибок запускать проект)

Как то так.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@immaculate
Программист-путешественник
Единственно правильного способа не существует, но ваш способ однозначно неправильный. Копировать node_modules с локальной машины на хостинг — это в корне неправильный подход.

По хорошему, надо начинать с одного из двух:
1) Код в репозитории GitHub/BitBucket/GitLab. При каждом деплое на сервере DO вручную выполняется git pull, npm install
2) Код в репозитории Git. Скрипт на ansible, который устанавливает на дроплете node, npm, выполняет git pull, npm install

От одного из этих вариантов можно плясать уже дальше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы