Node.js позволяет запускать JavaScript на сервере. PM2 управляет процессами: автоматически перезапускает приложение при сбоях и при старте системы.
Установка Node.js через NodeSource
# Установить Node.js 20 LTS
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Проверить версии
node --version # v20.x.x
npm --version # 10.x.x
Установка PM2
sudo npm install -g pm2
Запуск приложения
# Клонировать проект
git clone https://github.com/your/app.git /var/www/myapp
cd /var/www/myapp
npm install
npm run build # для Next.js
# Запустить через PM2
pm2 start npm --name "myapp" -- start
# Для Express
pm2 start server.js --name "myapp"
Автозапуск PM2 при перезагрузке
# Сохранить текущие процессы
pm2 save
# Настроить автозапуск
pm2 startup systemd
# Скопировать и выполнить команду, которую выведет PM2
Полезные команды PM2
pm2 list # список всех процессов
pm2 logs myapp # логи приложения
pm2 restart myapp # перезапуск
pm2 stop myapp # остановка
pm2 monit # реалтайм мониторинг CPU/RAM
Nginx как reverse proxy
sudo nano /etc/nginx/sites-available/myapp
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
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;
}
}
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
💡 Используйте
pm2 monit для отслеживания потребления RAM в реальном времени. Для Node.js приложений рекомендуем VPS с 1–2 ГБ RAM.