Лента

Установка Node.js на Debian/Ubuntu — локально

Установить Node.js на свой сервер очень просто. Для этого не нужно иметь права суперпользователя.

Локальная установка Node.js упрощается с помощью NVM — Node Version Manager. Это инструмент командной строки, который позволяет управлять множеством версий Node.js.


📦 Часть 1: Установка NVM

Для установки или обновления NVM необходимо запустить скрипт установки. Для этого можно либо загрузить и запустить скрипт вручную, либо использовать следующую команду cURL или Wget:

!!! Перед установкой проверьте версию последнего релиза NVM по ссылке: https://github.com/nvm-sh/nvm

# Замените v0.40.4 на актуальную версию с GitHub

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

или

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash

После этого перезагрузите терминал:

source ~/.bashrc

или

source ~/.zshrc

или

. ~/.profile

Проверьте установленный NVM:

nvm -v

🟢 Часть 2: Установка Node.js

Установите Node.js нужной версии:

nvm install --lts   # установка LTS версии (рекомендуется)
# или
nvm install 22      # установка конкретной версии

Переключитесь на только что установленную версию Node.js:

nvm use --lts       # использовать LTS версию
# или
nvm use 22          # использовать конкретную версию

Назначьте версию Node.js по умолчанию:

nvm alias default lts/*
# или
nvm alias default 22

Каждый раз при смене версии Node.js обновляйте npm до последней версии:

npm install -g npm@latest

Проверьте установленные компоненты:

node -v
npm -v
npx -v

⚙️ Часть 3: Установка и настройка PM2

Установите pm2 глобально (в контексте NVM) на пользователя, а не локально в каталог вашего проекта Node.js:

npm install -g pm2

Проверьте вашу версию pm2:

pm2 -v

Обновите глобально установленный pm2:

npm update -g pm2
pm2 -v

🚀 Часть 4: Запуск проекта через PM2

Используйте pm2 для работы в каталоге вашего проекта Node.js, например:

cd ~/web/domain/nodejs-project

Запуск приложения:

pm2 start app.js --name "my-app"

Для распределения нагрузки между ядрами процессора (если приложение поддерживает кластеризацию):

pm2 start app.js --name "my-app" -i max

Сохраните список процессов (обязательно для автозапуска):

pm2 save

🔄 Часть 5: Настройка автозапуска PM2

Сгенерируйте скрипт автозапуска:

pm2 startup

⚠️ Важно! PM2 покажет команду, которую нужно выполнить. Скопируйте и выполните её. Пример такой команды:

sudo env PATH=$PATH:/home/ВАШ_ПОЛЬЗОВАТЕЛЬ/.nvm/versions/node/v22.18.0/bin /home/ВАШ_ПОЛЬЗОВАТЕЛЬ/.nvm/versions/node/v22.18.0/lib/node_modules/pm2/bin/pm2 startup systemd -u ВАШ_ПОЛЬЗОВАТЕЛЬ --hp /home/ВАШ_ПОЛЬЗОВАТЕЛЬ

Если у вас нет прав sudo (обычный пользователь shared-хостинга):

  • Пропустите команду pm2 startup — автозапуск не настроится
  • После перезагрузки сервера выполняйте: pm2 resurrect
  • Или создайте скрипт для быстрого восстановления:
echo '#!/bin/bash' > ~/start-apps.sh
echo 'cd ~/web/domain/nodejs-project && pm2 resurrect' >> ~/start-apps.sh
chmod +x ~/start-apps.sh

📋 Часть 6: Основные команды PM2

Просмотр списка процессов:

pm2 list
pm2 ls                     # сокращённая версия

Управление процессами:

pm2 restart my-app         # перезапустить приложение
pm2 stop my-app            # остановить приложение
pm2 delete my-app          # удалить приложение из PM2

Просмотр логов:

pm2 logs                   # все логи
pm2 logs my-app            # логи конкретного приложения
pm2 logs --lines 100       # последние 100 строк

Мониторинг:

pm2 monit                  # интерактивный мониторинг
pm2 show my-app            # информация о процессе

Сохранение и восстановление:

pm2 save                   # сохранить список процессов
pm2 resurrect              # восстановить сохранённые процессы
pm2 unstartup              # удалить автозапуск (если был настроен)

Очистка логов:

pm2 flush                  # очистить все логи

📦 Часть 7: Обновление зависимостей проекта

Обновите все зависимости внутри каталога приложения:

cd ~/web/domain/nodejs-project

npm update
npm install

Проверить наличие обновлений для пакетов также можно с помощью:

npx npm-check-updates

или

npx ncu

⚠️ Внимание! Команда npx ncu -u обновит версии в файле package.json. Перед её выполнением создайте резервную копию файла:

cp package.json package.json.backup
npx ncu -u
npm install
pm2 restart my-app

🆙 Часть 8: Обновление версии Node.js

Установите новую версию Node.js:

nvm install 24
nvm use 24
nvm alias default 24

Переустановите глобальные пакеты:

npm install -g npm@latest
npm install -g pm2

Перезапустите ваши приложения:

pm2 restart all
pm2 save

🛑 Часть 9: Удаление PM2 и Node.js (если потребуется)

Удалить PM2:

pm2 delete all
npm uninstall -g pm2
rm -rf ~/.pm2

Удалить конкретную версию Node.js:

nvm uninstall 22

Удалить NVM полностью:

rm -rf ~/.nvm

Затем удалите строки с NVM из файлов ~/.bashrc, ~/.zshrc или ~/.profile.


📌 Шпаргалка: основные команды

Действие Команда
Установка NVM curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
Установка Node.js LTS nvm install --lts
Установка PM2 npm install -g pm2
Запуск приложения pm2 start app.js --name "my-app"
Сохранение процессов pm2 save
Настройка автозапуска pm2 startup
Просмотр списка pm2 list
Просмотр логов pm2 logs
Перезапуск приложения pm2 restart my-app

💡 Совет: После установки Node.js и PM2 рекомендуется один раз выполнить pm2 startup и сохранить процессы через pm2 save. Это гарантирует, что ваш проект будет автоматически запускаться при перезагрузке сервера (если у вас есть права sudo).

✅ Готово! Ваш Node.js проект теперь работает под управлением PM2. Используйте команды из этой инструкции для управления и обслуживания.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *