Всем привет✋, решил написать статью, потому что сам долго искал информацию, поэтому надеюсь она вам поможет в решении ваших проблем😉.1.Заходим на сервер через sshЯ буду показывать на примере VPS сервера на Beget, вы можете использовать любой другой.Создаем сервер и копируем реквезиты доступа, нам нужна колонка с @root+ip.Далее открываем Windows PowerShell и подключаемся по ssh$ ssh root@+(ваш ip сервера) $ ssh root@212.67.8.65 - для меняВводим пароль(тот, который указывали при создании сервера) и мы на нашем сервере!2.Скачиваем необходимые файлыТеперь нам нужно скачать сам Node.js и для этого выполняем команду:$ sudo apt install node.jsЕсли у вас появляется ошибка, то вам подойдет алтернативный вариант:$ curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -И снова:$ sudo apt install nodejsПроверим:$ node -vУстановим пакетный менеджер npm:$ sudo apt install npmПроверим:$ npm -vУстановим nginx, он нам понадобиться для того, чтобы связать наш localhost c внешним доменом$ sudo apt install nginxНа этом с установкой всё.3.Привязываем домен к VPS серверуЯ купил домен на сайте reg.ru, вы можете сделать это на любом другом, процесс будет одинаковым.Переходим в настройки, в раздел домены и выбираем свой домен. Далее переходим в задел DNS-серверы и управление зонойВ ресурсных записях добавляем новую A запись. Здесь в Subdomain указываем @(это означает, что сам домен будет назначан к ip-адрессу вашего VPS сервера).В строку IP Address вставляем ip вашего сервераПодождем пару минут и если все хорошо, то при переходе на ваш домен должна показаться такая страница(если она не выходит, то попробуйте с vpn зайти).4.Настраиваем среду для проектаДалее снова открываем консоль и создаем папку проекта. Я создам папку test.$ mkdir testПереходим в нее$ cd testВ эту папку мы должны загрузить файлы нашего проекта, я буду загружать c github$ git clone https://github.com/IgnatevArseniy/TestЕсли github не установлен, то:$ sudo apt install gitПереходим в папку Test$ cd TestИ провераяем наличие файлов$ lsОтлично, теперь нужно установить все зависимости, они прописанны в файле package.json(eсли у вас такого нет, то просто установите всё отдельно).$ npm iТеперь если запустить index.js, то все запуститься$ node indexПерейдем в браузере на адресс ip-сервера:ПОРТ, у меня 212.67.8.65:4000 и все работает!5.Привязываем домен к нашему localhostОткрываем файл nginx конфиг в редакторе nano$ sudo nano /etc/nginx/sites-available/defaultТеперь здесь добавляем в строку с server_name ваш домен. Удаляем всё из location и вставляем:proxy_pass http://localhost:ваш_порт; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade;Нажимаем ctrl+x и сохраняем изменения. Проверяем файл:$ nginx -tЕсли все ок, то перезагружаем nginx:$ sudo service nginx restartПосле перезагрузки заходим на наш домен в браузере:Если появилось такое окно, то все хорошо. Запускаем index.js и обновляем страницу:$ node indexВидим, что домен успешно подвязался к нашему приложению!6.Скачиваем pm2, для оптимального запуска приложений 24/7Чтобы наше приложение работало 24/7 нам нужен скачать такой сервис как pm2:$ sudo npm install pm2 -gЗапускаем index.js:$ pm2 start index.jsТеперь приложение успешно работает, можем проверить:Пришло время подводить итоги. Сегодня мы успешно задеплоили проект node.js на виртуальный VPS сервер и привязали к нему домен. Надеюсь эта статья была вам полезна. Если вам интересна тема web3 и программирования в целом, то можете подписаться на мой тг_канал в котором я буду публиковать часть кода своих проектов и делиться своими мыслями и целями. Надеюсь еще увидимся)))t.meArseniy Ignatev