Установить 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. Используйте команды из этой инструкции для управления и обслуживания.