Как запустить собственное приложение Node.js на VPS сервере(Ubuntu)?
Всем привет✋, решил написать статью, потому что сам долго искал информацию, поэтому надеюсь она вам поможет в решении ваших проблем😉.
1.Заходим на сервер через ssh
Я буду показывать на примере VPS сервера на Beget, вы можете использовать любой другой.
Создаем сервер и копируем реквезиты доступа, нам нужна колонка с @root+ip.
Далее открываем Windows PowerShell и подключаемся по ssh
Вводим пароль(тот, который указывали при создании сервера) и мы на нашем сервере!
2.Скачиваем необходимые файлы
Теперь нам нужно скачать сам Node.js и для этого выполняем команду:
Если у вас появляется ошибка, то вам подойдет алтернативный вариант:
И снова:
Проверим:
Установим пакетный менеджер npm:
Проверим:
Установим nginx, он нам понадобиться для того, чтобы связать наш localhost c внешним доменом
На этом с установкой всё.
3.Привязываем домен к VPS серверу
Я купил домен на сайте reg.ru, вы можете сделать это на любом другом, процесс будет одинаковым.
Переходим в настройки, в раздел домены и выбираем свой домен. Далее переходим в задел DNS-серверы и управление зоной
В ресурсных записях добавляем новую A запись. Здесь в Subdomain указываем @(это означает, что сам домен будет назначан к ip-адрессу вашего VPS сервера).
В строку IP Address вставляем ip вашего сервера
Подождем пару минут и если все хорошо, то при переходе на ваш домен должна показаться такая страница(если она не выходит, то попробуйте с vpn зайти).
4.Настраиваем среду для проекта
Далее снова открываем консоль и создаем папку проекта. Я создам папку test.
Переходим в нее
В эту папку мы должны загрузить файлы нашего проекта, я буду загружать c github
Если github не установлен, то:
Переходим в папку Test
И провераяем наличие файлов
Отлично, теперь нужно установить все зависимости, они прописанны в файле package.json(eсли у вас такого нет, то просто установите всё отдельно).
Теперь если запустить index.js, то все запуститься
Перейдем в браузере на адресс ip-сервера:ПОРТ, у меня 212.67.8.65:4000 и все работает!
5.Привязываем домен к нашему localhost
Открываем файл nginx конфиг в редакторе nano
Теперь здесь добавляем в строку с server_name ваш домен. Удаляем всё из location и вставляем:
Нажимаем ctrl+x и сохраняем изменения. Проверяем файл:
Если все ок, то перезагружаем nginx:
После перезагрузки заходим на наш домен в браузере:
Видим, что домен успешно подвязался к нашему приложению!
6.Скачиваем pm2, для оптимального запуска приложений 24/7
Чтобы наше приложение работало 24/7 нам нужен скачать такой сервис как pm2:
Запускаем index.js:
Теперь приложение успешно работает, можем проверить:
Пришло время подводить итоги. Сегодня мы успешно задеплоили проект node.js на виртуальный VPS сервер и привязали к нему домен. Надеюсь эта статья была вам полезна. Если вам интересна тема web3 и программирования в целом, то можете подписаться на мой тг_канал в котором я буду публиковать часть кода своих проектов и делиться своими мыслями и целями. Надеюсь еще увидимся)))