Как обновить Node.js в Ubuntu?
Как обновить версии NPM и Nodejs на Ubuntu 16.04?
Когда устанавливал через apt-get:
sudo apt-get install npm
sudo apt-get install nodejs
Он установил только старые версии:
$ nodejs -v
v4.2.6
npm -v
3.5.2
После чего при установки ангуляр выскакивает вот такая ошибка:
$ npm install -g @angular/cli
npm ERR! Linux 4.10.0-28-generic
npm ERR! argv «/usr/bin/nodejs» «/usr/bin/npm» «install» «-g» «@angular/cli»
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! code ECONNRESET
npm ERR! network tunneling socket could not be established, cause=write EPROTO
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network ‘proxy’ config is set properly. See: ‘npm help config’
- Вопрос задан более трёх лет назад
- 20904 просмотра
Как правильно обновить Ubuntu через терминал?
Перед обновлением необходимо выполнить команду apt-get update , которая обновит информацию о пакетах, содержащихся в репозиториях, чтобы в процессе обновления получить самые последние версии пакетов. Далее существует 2 варианта обновления: dist-upgrade и upgrade . Предпочтительнее первый вариант.
Когда мне надо обновить убунту через терминал, я выполняю эти две команды:
dist-upgrade делает тоже самое, что upgrade плюс выполяет «умное» разрешения конфликтов версий пакетов. При конфликтах пакетов Ubuntu попытается обновите наиболее важные пакеты за счет менее важных. Поэтому команда dist-upgrade может установить дополнительные пакеты или удалить один из конфликтующих пакетов.
Команды upgrade и dist-upgrade не меняют версию системы, например с Ubuntu 13.04 до Ubuntu 13.10. Для этого есть отдельная команда.
Этой командой можно обновить подсистему Linux в Windows.
На мой взгляд простым смертным имеет смысл апгрейдится только с LTS на LTS, то есть совершать переход между версиями с долгосрочной поддержкой, а выпускаются они раз в 2 года и поддерживаются 5 лет. Еще это обусловлено тем, что большинство производителей серьёзного программного обеспечения также поддерживают свои продукты для LTS версий операционных систем, например цитата из документации MongoDB:
PLATFORM SUPPORT
MongoDB only provides packages for 64-bit LTS (long-term support) Ubuntu releases. For example, 12.04 LTS (precise), 14.04 LTS (trusty), 16.04 LTS (xenial), and so on. These packages may work with other Ubuntu releases, however, they are not supported.
То есть, если вы обновитесь с Ubuntu 16.04 на 16.10 и вдруг MongoDB перестанет работать, то не факт, что даже за деньги вам помогут решить эту пробему.
В рассматриваемом случае получается периодичность выполнения команды do-release-upgrade примерно раз в 2-4 года.
Обновление с 16.04 до 18.04
В апреле 2018 года Canonical выпустила Ubuntu 18.04 LTS (кодовое имя Bionic Beaver). А это значит, что можно обновлять систему.
Однако стоит упомянуть слова Стив Лангасека, менеджера команды Ubuntu Engineering Foundations, который напоминает про принцип «Работатет — не трогай» :
Обновления между выпусками LTS не включаются по умолчанию, пока не будет выпущен первый выпуск (18.04.1), запланированный на июль. Рекомендуется, чтобы большинство пользователей LTS подождали до этого времени до обновления до 18.04.
Поэтому, до недавнего времени если запускалась команда do-release-upgrade , то она выводила сообщение, что обновлений нет.
Если в таком случае добавить ключ -d (версии разработки), то обновление запустится
// Пробовал обновиться 8.05.2018, не получилось, откатился назад.
Итак, время пришло. Терминал торжественно встречает фразой.
И вот на этом моменте следует остановиться. Если у вас нет «прямого» доступа к машине, то есть риск, что обновление пройдет неудачно и вы не сможете об этом узнать по SSH. Безопаснее обновлять операционную систему, если у вас есть физический доступ к машине.
Второй момент. Система несколько раз спросит подтверждение:
Продолжить [дН] Подробности [п]
Если у вас локализованная версия Ubuntu, то прямо в терминале (не SSH) сменить раскладку не получится((, а ответ yes или y не подойдет. Поэтому стоит скопировать букву «д» в буфер обмена.
После подтверждения начинатся загрузка и установка пакетов, модификация системных файлов. В зависимости от установленного ПО мастер установки задаст вопросы вида:
Изменён с момента установки (вами или сценарием). ==> Автор пакета предоставил обновлённую версию. Что нужно сделать? Есть следующие варианты: Y или I : установить версию, предлагаемую сопровождающим пакета N или O : оставить установленную на данный момент версию D : показать различия между версиями Z : запустить оболочку командной строки для проверки ситуации По умолчанию сохраняется текущая версия файла настройки. *** apache2.conf (Y/I/N/O/D/Z) [по умолчанию N] ?
Ничего сложного. Отвечаем, дожидаемся завершения обновления.
Проблемы после обновления
На вопрос Файл настройки «/etc/apache2/apache2.conf» изменён я ответил установить версию, предлагаемую сопровождающим пакета . Из-за этого apache2 не запустился.
Смотрим журнал journalctl -xe -u apache2
Запись сообщает, что не удалось достоверно определить полное доменное имя сервера. Добавление ServerName
Далее. Не был включен PHP. Посмотреть что включено apache2ctl -M . Просмотр установленных модулей
Включаем модуль PHP 7.2
Система не поставила PHP расширение pdo_mysql . Исправляем:
- Не забывайте посматривать свободное место в boot разделе
- Решение проблем при установке программ Ubuntu
- Why is “No new release found” when upgrading from a LTS to the next?
- Upgrading LTS to LTS (server) — why wait for the first point release?
- Ubuntu Upgrades
Обновление до версии Ubuntu 20.04 Focal Fossa
23 апреля 2020 года была выпущена новейшая версия операционной системы Ubuntu с долгосрочной поддержкой (LTS) — Ubuntu 20.04 (Focal Fossa). В этом руководстве мы расскажем, как провести обновление системы Ubuntu версии 18.04 или выше до версии Ubuntu 20.04.
Предупреждение. При каждом значительном обновлении версии операционной системы существует опасность неисправности, потери данных или нарушения конфигурации программного обеспечения. Настоятельно рекомендуется сделать полную резервную копию системы и провести тестирование в существенном объеме.
Во избежание проблем мы рекомендуем перейти на новый сервер Ubuntu 20.04 вместо обновления существующей системы. При переходе могут потребоваться изменения конфигурации программного обеспечения, но основная операционная система будет более стабильной. Чтобы узнать больше о миграции серверов ознакомьтесь с нашей серией статей о переходе на новый сервер Linux.
Предварительные требования
Для целей этого руководства предполагается, что вы используете систему с операционной системой Ubuntu версии 18.04 или выше с пользователем sudo без привилегий root.
Потенциальные сложности
Хотя многие системы можно обновить без каких-либо проблем, для большей безопасности и предсказуемости часто бывает лучше установить дистрибутив с нуля, настроить службы с тщательным тестированием и выполить перенос приложений или пользовательских данных на отдельном шаге.
Рабочую систему не следует обновлять без предварительного тестирования установленного программного обеспечения и служб в тестовой среде. Необходимо помнить, что библиотеки, языки и системные службы могли существенно измениться. Перед обновлением стоит почитать примечания к выпуску Focal Fossa.
Шаг 1 – Резервное копирование системы
Прежде чем проводить масштабное обновление любой системы, необходимо убедиться, что неполадки не приведут к потере данных. Для этой цели лучше всего сделать полную резервную копию файловой системы. Если это нецелесообразно, необходимо сделать копии домашних каталогов пользователей, пользовательских файлов конфигурации и данных, сохраненных различными службами, например реляционными базами данных.
Если используется дроплет DigitalOcean, можно завершить работу системы и сделать моментальный снимок (при завершении работы файловая система становится более согласованной). Дополнительную информацию о процессе создания снимков можно найти в статье «Создание снимков дроплетов». Когда вы убедитесь, что обновление Ubuntu прошло успешно, вы можете удалить снимок, чтобы больше не платить за его хранение.
Чтобы узнать о методах резервного копирования, которые подойдут для большинства систем Ubuntu, ознакомьтесь со статьей «Как выбрать эффективную стратегию резервного копирования для вашего VPS».
Шаг 2 – Обновление установленных пакетов
Перед обновлением версии безопаснее будет провести обновление версий всех пакетов для текущей версии ОС. Для начала обновите список пакетов:
Затем обновите установленные пакеты до последних доступных версий:
Вы увидите список обновлений, и вам будет предложено продолжить. Выберите y для подтверждения и нажмите Enter.
Этот процесс может занять некоторое время. Когда он завершится, используйте команду dist-upgrade с apt-get , которая выполнит дополнительные обновления, связанные с изменением зависимостей, и в процессе будет добавлять или удалять новые пакеты по мере необходимости. Эта команда проведет обновления, которые могли быть задержаны на предыдущем шаге выполнения apt upgrade :
Ответьте y, чтобы продолжить, и подождите, пока обновления не будут завершены.
Вы обновили текущую версию Ubuntu и теперь можете использовать do-release-upgrade для перехода на версию 20.04.
Шаг 3 – Обновление Ubuntu с помощью инструмента do-release-upgrade
Для обновления версий Ubuntu традиционно нужно было изменить список Apt /etc/apt/sources.list , где указываются репозитории пакетов, и использовать apt-get dist-upgrade для самого обновления. Хотя этот процесс должен сработать и сейчас, в Ubuntu добавлен инструмент do-release-upgrade , делающий обновление более простым и безопасным.
do-release-upgrade проверяет наличие новой версии, обновляет список sources.list и выполняет ряд других задач. Этот инструмент официально рекомендуется для обновления серверов, которое должно выполняться через удаленное подключение.
Для начала запустите команду do-release-upgrade без опций:
Если новая версия Ubuntu еще не выпущена официально, вы можете увидеть следующий результат:
OutputChecking for a new Ubuntu release No new release found
Обратите внимание, что на сервере Ubuntu новый выпуск LTS остается недоступным для do-release-upgrade до выпуска первой версии с точкой, в данном случае 20.04.1 . Обычно это происходит через несколько месяцев после первоначальной даты выпуска.
Если вы не видите доступного выпуска, используйте опцию -d для обновления до выпуска на этапе разработки:
Если вы подключены к системе через SSH, вам нужно будет указать, хотите ли вы продолжить. При работе с виртуальными машинами и управляемыми серверами следует учитывать опасность разрыва соединения SSH, особенно если у вас нет другого способа подключения к системной консоли (например, через веб-консоль).
Для других ваших систем безопаснее выполнять существенные обновления операционной системы только при наличии непосредственного физического доступа к компьютеру.
Введите в диалоге y и нажмите Enter, чтобы продолжить:
OutputReading cache Checking package manager Continue running under SSH? This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover. If you continue, an additional ssh daemon will be started at port '1022'. Do you want to continue? Continue [yN]
Вы получите сообщение, что do-release-upgrade запускает новый экземпляр sshd на порту 1022:
OutputStarting additional sshd To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one. If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT' To continue please press [ENTER]
Нажмите Enter . Теперь вы можете получить предупреждение об отсутствии зеркальной записи. На системах DigitalOcean вы можете игнорировать это предупреждение и продолжать процедуру обновления, поскольку на самом деле локальное зеркало 20.04 все-таки доступно. Введите y:
OutputUpdating repository information No valid mirror found While scanning your repository information no mirror entry for the upgrade was found. This can happen if you run an internal mirror or if the mirror information is out of date. Do you want to rewrite your 'sources.list' file anyway? If you choose 'Yes' here it will update all 'bionic' to 'focal' entries. If you select 'No' the upgrade will cancel. Continue [yN]
После загрузки новых списков пакетов и расчета изменений вам будет предложено запустить процедуру обновления. Введите y , чтобы продолжить:
OutputDo you want to start the upgrade? 18 installed packages are no longer supported by Canonical. You can still get support from the community. 3 packages are going to be removed. 142 new packages are going to be installed. 452 packages are going to be upgraded. You have to download a total of 338 M. This download will take about 42 minutes with a 1Mbit DSL connection and about 13 hours with a 56k modem. Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled. Continue [yN] Details [d]
После этого будут получены, распакованы и установлены новые пакеты. Даже если у вашей системы быстрое подключение, это займет некоторое время.
Во время установки могут выводиться интерактивные диалоги с различными вопросами. Например, вам будет предложено автоматически перезапускать службы, когда это потребуется:

В данном случае вы можете уверенно ответить Yes (Да). В других случаях вам может быть предложено заменить измененный вами файл конфигурации. Это решение следует основывать на конкретных обстоятельствах, и для его принятия требуются знания о конкретном программном обеспечении, что не входит в тему этого обучающего модуля.
После завершения установки новых пакетов вам будет предложено удалить старые пакеты. В стандартной системе без измененных конфигураций в этом диалоге можно безопасно ввести y. Если вы серьезно модифицировали систему, лучше будет ввести d и просмотреть список удаляемых пакетов на случай, если в нем есть что-то, что вам позднее потребуется переустанавливать.
OutputRemove obsolete packages? 53 packages are going to be removed. Continue [yN] Details [d]
Если предположить, что все прошло хорошо, вы получите сообщение о том, что обновление завершено и требуется перезагрузка системы. Введите y, чтобы продолжить:
OutputSystem upgrade is complete. Restart required To finish the upgrade, a restart is required. If you select 'y' the system will be restarted. Continue [yN]
В сеансе SSH вы увидите примерно следующее:
OutputConnection to 203.0.113.241 closed by remote host. Connection to 203.0.113.241 closed.
Возможно вам нужно будет нажать клавишу для выхода в локальную командную строку в связи с прекращением сеанса SSH на стороне сервера.
Подождите, пока сервер не перезагрузится, а затем подключитесь к нему снова. При входе вы должны увидеть сообщение, подтверждающее, что вы теперь используете Focal Fossa:
OutputWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64)
Заключение
Вы установили рабочую систему Ubuntu 20.04. Теперь вы можете изучить необходимые изменения конфигурации служб и развернутых приложений.
Дополнительные обучающие модули и ответы на вопросы по версии 20.04 можно найти на страницах с тегом «Обучающие модули по Ubuntu 20.04».
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Разворачиваем Node.js-проект (Nuxt.js) на базе VDS с ОС Ubuntu Server
В данной статье я рассмотрю вопрос развертывания с нуля Nuxt.js-проекта (либо любого другого проекта на Node.js) на VDS-сервере с использованием веб-сервера Apahce2, Node.js, менеджера процессов pm2 с полным циклом установки всех компонентов.
Установка будет производится на чистом VDS-сервере, не имеющем каких-либо настроек.
Шаг 1. Подключаемся по SSH к VDS
Для подключения к VDS-серверу по SSH более не требуется скачивать и устанавливать какие-либо дополнительные программы, так как в Windows PowerShell на ОС Windows 10 последних версий уже встроен клиент OpenSSH.
Я же буду использовать приложение Windows Terminal, скачать которое можно в Microsoft Store (разработчик Windows Terminal — сами Microsoft).
В данной инструкции в качестве операционной системы на сервере мы будем использовать Ubuntu Server 20.04
Итак, подключаемся к серверу при помощи следующей команды:
ssh root@Ваш_IP_сервера
Вместо root вы должны указать своего пользователя, который у Вас был выдан при создании сервера.
Вместо IP-адреса также можно использовать и FQDN-адрес сервера, если вы уже прописали DNS A-запись на Вашем домене со значением Вашего IP-адреса сервера.

При успешном логине Вы увидите уже терминал (консоль) сервера:

Как видим, мы подключены к удаленному серверу.
Шаг 2. Добавление репозитория Apache2 на сервер и установка веб-сервера
В данной инструкции мы будем устанавливать веб-сервер Apache2 из официального репозитория, так как в репозитории Ubuntu не всегда последняя версия веб-сервера Apache2.
Для начала установим необходимые пакеты командой:
apt install software-properties-common
![]()
Если данный пакет уже установлен, то вы увидите следующее:

После установки необходимых пакетов добавляем официальный репозиторий Apache2 следующей командой:
apt-add-repository ppa:ondrej/apache2
При добавлении репозитория, в терминале появится вопрос, на который необходимо нажать клавишу Enter:

После добавления репозитория, производим установку самого веб-сервера Apache2:
apt install apache2
В терминале появится вопрос о подтверждении установки веб-сервера Apache2. Если согласны с установкой — смело нажимайте клавишу Enter.

Теперь можно перейти по IP-адресу, либо по FQDN-адресу вашего сервера и убедиться, что веб-сервер Apache2 успешно установлен.
Примечание. Порты 80 и 443 на вашей виртуальной машине должны быть открыты. Если есть управляемый файерволл в панели управления вашего сервера на хостинге — обязательно проверьте!

Шаг 3. Установка менеджера версий Node.js (nvm) и самого Node.js
Для установки и более удобного дальнейшего контроля версий NodeJS мы установки менеджер версии NodeJS. Пакет называется nvm.
И перейдем в раздел Installing and Updating и выберем один их способов установки скрипта. Я выберу второй через утилиту wget:

Копируем команду и вставляем ее в терминал сервера:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

И жмем клавишу Enter
После установки перезагружаем сервер при помощи кнопки перезагрузки в панели управления сервером, либо через команду в терминале init 6
Примечание. Вместо перезапуска сервера можно переподключиться к нему по SSH так, как указано в шаге 1.

После перезагрузки снова подключаемся к серверу согласно шагу 1.
Запускаем команду nvm для того, чтобы посмотреть и ознакомится со списком команд скрипта. Находим команду установки NodeJS в версии LTS:

Пакет NVM поможет вам «в 2 клика» поддерживать всегда актуальную версию Node.js
Вводим эту команду в терминал и жмем клавишу Enter:
nvm install --lts

Проверяем установленную версию Node.js следующей командой:
node -v
И получаем сообщение об установленной версии Node.js:

Шаг 4. Установка менеджера процессов pm2
Для того, чтобы управлять процессами и приложениями, запущенными в среде Node.js, а также автоматического их запуска после перезагрузки сервера, нам понадобится менеджер процессов Node.js, который мы установим глобально в систему через пакетный менеджер npm. Пакет называется pm2:
npm install -g pm2
При успешной установке мы увидим следующее:

При помощи команды pm2 -h можно посмотреть список доступных команд
Шаг 5. Запуск Node.js-приложения (в нашем случае — Nuxt.js-приложения)
Я создам новое приложение на Nuxt.js для демонстрации работы. Можно запустить таким же образом любое Node.js-приложение, как новое, только что созданное, так и уже готовое приложение.
Примечание. Установку Nuxt.js описывать не буду, так как приложение новое и установка стандартная. Она написана на официальном сайте проекта, у которого есть русская версия документации
Nuxt.js проект по-умолчанию запускается в двух режимах:
- В режиме разработки — npm run dev
- В режиме продакшена — npm run start
Есть еще режим static, который запускается через команду npm run generate . Но я его рассматривать не буду, так как он не используется для постоянного запуска приложения через Node.js
Я же не буду сразу запускать это приложение одной из этих команд, а сразу воспользуюсь менеджером pm2
Для этого перейдем в папку с проектом и запустим команду инициализации менеджера pm2:
pm2 init

Открываем файл ecosystem.config.js прямо в терминале через редактор nano командой и удаляем все содержимое:
nano ecosystem.config.js

Вставляем туда следующее содержимое и сохраняем комбинацией клавиш Ctrl+O, затем жмем Enter:
module.exports = < apps : [ < name: "nuxt-dev", script: "npm", args: "run dev" >, < name: "nuxt-prod", script: "npm", args: "run start" >] >
Для запуска dev-версии используем команду следующую команду:
pm2 start ecosystem.config.js --only nuxt-dev
Для запуска prod-версии:
npm run build && pm2 start ecosystem.config.js --only nuxt-prod
Я, для примера, запущу Dev-версию:

Для последующей остановки/запуска приложения не нужно будет заходить в папку с проектом и запускать командой выше. Достаточно будет ввести название приложения из монитора pm2:
pm2 start nuxt-dev
для запуска, либо
pm2 stop nuxt-dev
для остановки приложения.
Для просмотра всех запущенных NodeJS-приложений посредством pm2 небходимо ввести в терминал следующую команду:
pm2 status

Для просмотра монитора процессов:
pm2 monit

Подключаем автоматический запуск приложений через pm2 после перезагрузки сервера:
pm2 startup
и сохраняем изменения:
pm2 save

[Дополнительно] Графический интерфейс pm2 вне терминала
Для запуска веб-интерфейса управления процессами pm2 необходимо зарегистрироваться на сайте pm2.io и создать Bucket.
Будем считать, что есть существующий аккаунт и Bucket (инструкцию можно почитать на оф. сайте pm2).
Вводим команду для подключения к веб-интерфейсу:
pm2 plus
На первом этапе pm2 спросит, есть ли у Вас аккаунт pm2.io (в нашем случае есть и мы вводим букву y и жмем клавишу Enter

Вводим ваш email и пароль от аккаунта.
Если все введено верно, то pm2 попросит Вас выбрать, к какому Bucket подключиться — выбирайте ранее созданный. У меня это TestBucket

При успешном подключении к Bucket в веб-интерфейсе pm2 появится Ваше приложение(процесс). Там вы сможете посмотреть статистику, сбросить монитор и перезагрузить приложение:

Далее нам необходимо повторно добавить в автозагрузку pm2 и сохранить изменения:
pm2 unstartup pm2 startup pm2 save

Шаг 6. Проксирование Node.js-приложения через Apache2 Proxy
У нас уже запущено приложение на Nuxt.js на порту 3000 (по-умолчанию)
Теперь нам необходимо проксировать его на определенный адрес и стандартный порт 80 (для HTTP).
Для этого установим и включим модуль Apache2 Proxy:
a2enmod proxy_http
И перезагрузим веб-сервер командой:
systemctl restart apache2

Переходим в папку с виртуальными хостами Apache2 командой:
cd /etc/apache2/sites-available
и дублируем дефолтный файл конфигурации виртуального хоста Apache2:
cp 000-default.conf ваш_домен.conf
Открываем файл ваш_домен.conf с помощью редактора nano. Изменяем на Ваши следующие значения:

- ServerName: необходимо раскомментировать и значение example.com поменять на ваше доменное имя
- ServerAdmin: webmaster@localhost меняем на Ваш email
- DocumentRoot: можно закомментировать значком #
Затем, чтобы проксировать наше приложение на этот адрес, нам необходимо добавить следующие строки:
ProxyPreserveHost On ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/
Где :3000 — Ваш порт приложения
Сохраняем изменения комбинацией клавиш Ctrl+O и жмем Enter. Выходим из редактора комбинацией Ctrl+Z

Теперь можно включить виртуальный хост и перезагрузить веб-сервер*:
a2ensite ваш_домен systemctl reload apache2
* В команде a2ensite ваш_домен не обязательно указывать расширение конфигурационного файла

Как видим — приложение успешно открывается на необходимом нам адресе и стандартном порту веб-сервера Apache2
Шаг 7. Тестирование работы pm2
Теперь необходимо проверить, срабатывает ли автоматический запуск приложений менеджером pm2 после перезагрузки сервера.
Для этого в терминале пропишем команду init 6 , либо перезагрузим сервер в панели управления хостингом.
Если Вы все сделали правильно и согласно инструкции — приложение на Node.js автоматически запустится на вашем адресе в течение минуты после запуска VDS-сервера.
Заключение
В данном материале я рассмотрел подробно установку веб-сервера Apache2, установку менеджера версий Node.js — пакета NVM и установку самого Node.js через этот менеджер, запуск Node.js-приложения на примере приложения на Vue.js-фреймворке — Nuxt.js, автоматический запуск этого приложения после перезагрузки сервера с помощью менеджера процессов pm2 и проксирование приложения на определенный адрес.
Старался объединить несколько инструкций в одну на своем личном опыте, когда еще только начинал работать с этими инструментами.
Возможно, более удобный (или правильный?) способ запуска будет через Docker и NGINX. Но в данной статье я показал базовый пример запуска.
Возможно, кому-то статья будет полезной.
