// ssd vps

Как установить и настроить Node.js на VPS Linux: полное руководство для современных веб-приложений

August 26, 2026 · by Alex M.

Как установить и настроить Node.js на VPS Linux: полное руководство для современных веб-приложений

Node.js — одна из самых востребованных платформ для разработки серверных приложений: REST API, сервисы реального времени, инструменты командной строки и микросервисы. Если у вас есть VPS SSD и вы хотите запустить Node.js в продакшне, это руководство проведёт вас через все необходимые шаги.

Почему Node.js требует VPS, а не виртуальный хостинг?

Виртуальный хостинг отлично подходит для сайтов на WordPress или классических PHP-приложений. Но Node.js нужен собственный постоянно работающий процесс, открытые порты и полный контроль над средой исполнения — то, чего shared hosting cPanel не предоставляет.

С VPS NVMe вы получаете:
- Полный root-доступ — устанавливайте любую версию Node.js
- Постоянные процессы — приложение работает непрерывно через PM2 или systemd
- Предсказуемую производительность — без «шумных соседей»
- Полный контроль над портами, файерволом и конфигурацией

Предварительные требования

Для выполнения этого руководства вам понадобится:
- VPS с Ubuntu 22.04 или Debian 12 (рекомендуется)
- SSH-доступ с правами root или sudo
- Базовые знания командной строки Linux

Если у вас ещё нет сервера, закажите VPS SSD или VPS 1C — доступное решение для старта любого проекта.

Рекомендуемый способ: установка через NVM (Node Version Manager)

NVM позволяет устанавливать несколько версий Node.js и переключаться между ними без конфликтов — идеально для продакшн-сред.

Шаг 1: Установка NVM

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

Перезагрузите конфигурацию оболочки:

export NVM_DIR="$HOME/.nvm"
source ~/.bashrc

Проверьте установку:

nvm --version
# вывод: 0.39.7

Шаг 2: Установка Node.js LTS

nvm install --lts
nvm use --lts
nvm alias default 'lts/*'

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

node --version
# v20.x.x
npm --version
# 10.x.x

Альтернативный способ: установка из репозитория NodeSource

Если вам нужна системная установка (доступная для всех пользователей), используйте официальный репозиторий NodeSource:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

Этот метод удобен при использовании услуг управления сервером для стандартизированного развёртывания.

Создание первого приложения Node.js

Для проверки среды создадим простой HTTP-сервер:

mkdir ~/myapp && cd ~/myapp
nano app.js

Содержимое файла app.js:

const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello from CliqHost VPS!\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

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

node app.js

Откройте браузер и перейдите по адресу http://IP_ВАШЕГО_VPS:3000 — вы должны увидеть приветственное сообщение.

Управление процессами с помощью PM2

В продакшн-среде приложение должно работать непрерывно и автоматически перезапускаться после сбоя или перезагрузки сервера. PM2 — стандартное решение для этого.

Установка PM2

npm install -g pm2

Запуск приложения через PM2

cd ~/myapp
pm2 start app.js --name "myapp"

Настройка автозапуска после перезагрузки

pm2 startup
# Скопируйте и выполните отображённую команду (с sudo)
pm2 save

Полезные команды PM2

pm2 status          # статус процессов
pm2 logs myapp      # логи приложения
pm2 restart myapp   # перезапуск
pm2 stop myapp      # остановка
pm2 delete myapp    # удаление из списка PM2

Настройка Nginx в качестве обратного прокси

Приложение Node.js работает на порту 3000, тогда как пользователи обращаются к сайту через порты 80/443. Настроим Nginx для правильной маршрутизации трафика.

Установка Nginx

sudo apt update
sudo apt install nginx -y

Настройка виртуального хоста

sudo nano /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name вашдомен.com www.вашдомен.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;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Активируйте конфигурацию:

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Защита приложения с помощью SSL

Ни один современный сайт не должен работать без HTTPS. Установите Certbot для бесплатного сертификата Let's Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d вашдомен.com -d www.вашдомен.com

Если вам нужен коммерческий SSL-сертификат с расширенной проверкой, CliqHost предлагает SSL-сертификаты для любых типов проектов.

Настройка файервола

Убедитесь, что необходимые порты открыты, а порт 3000 (внутренний) не доступен напрямую из интернета:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw deny 3000
sudo ufw enable
sudo ufw status

Использование переменных окружения (.env)

Никогда не храните учётные данные непосредственно в коде. Используйте переменные окружения:

npm install dotenv

Создайте файл .env:

PORT=3000
DB_HOST=localhost
DB_USER=admin
DB_PASS=секретный_пароль
NODE_ENV=production

В начале app.js добавьте:

require('dotenv').config();
const port = process.env.PORT || 3000;

Важно: Добавьте .env в .gitignore, чтобы не раскрывать конфиденциальные данные.

Мониторинг и логи

PM2 хранит логи приложения в ~/.pm2/logs/. Просматривайте логи в реальном времени:

pm2 logs myapp --lines 100

Для углублённого мониторинга ресурсов сервера изучите статьи в нашем блоге CliqHost — там вы найдёте руководства по отслеживанию CPU, RAM и дискового пространства на Linux.

Рекомендации для продакшна

  • Регулярно обновляйте Node.js и зависимости (npm audit fix)
  • Ограничьте права — запускайте Node.js от имени непривилегированного пользователя
  • Настройте rate limiting в Nginx для защиты от DDoS-атак
  • Используйте cluster mode в PM2 для загрузки всех ядер CPU:
pm2 start app.js -i max --name "myapp-cluster"
  • Реализуйте health checks для быстрого обнаружения проблем

Заключение

Установка и настройка Node.js на VPS Linux — задача вполне решаемая при правильном подходе. NVM обеспечивает гибкое управление версиями, PM2 гарантирует непрерывную работу приложения, а связка Nginx + SSL завершает надёжную и защищённую продакшн-конфигурацию.

Для максимальной производительности рекомендуем VPS NVMe с ультрабыстрым хранилищем — особенно когда ваше Node.js-приложение должно обрабатывать десятки или сотни одновременных запросов. Если вы предпочитаете делегировать администрирование сервера профессионалам, воспользуйтесь нашими услугами управления серверами. Свяжитесь с командой CliqHost — мы готовы помочь.

SHARE
// Что говорят наши клиенты

Что говорят наши клиенты

Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău