August 26, 2026 · by Alex M.
Node.js — одна из самых востребованных платформ для разработки серверных приложений: REST API, сервисы реального времени, инструменты командной строки и микросервисы. Если у вас есть VPS SSD и вы хотите запустить Node.js в продакшне, это руководство проведёт вас через все необходимые шаги.
Виртуальный хостинг отлично подходит для сайтов на 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.js и переключаться между ними без конфликтов — идеально для продакшн-сред.
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
nvm install --lts
nvm use --lts
nvm alias default 'lts/*'
Проверьте установленные версии:
node --version
# v20.x.x
npm --version
# 10.x.x
Если вам нужна системная установка (доступная для всех пользователей), используйте официальный репозиторий NodeSource:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
Этот метод удобен при использовании услуг управления сервером для стандартизированного развёртывания.
Для проверки среды создадим простой 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 — стандартное решение для этого.
npm install -g pm2
cd ~/myapp
pm2 start app.js --name "myapp"
pm2 startup
# Скопируйте и выполните отображённую команду (с sudo)
pm2 save
pm2 status # статус процессов
pm2 logs myapp # логи приложения
pm2 restart myapp # перезапуск
pm2 stop myapp # остановка
pm2 delete myapp # удаление из списка PM2
Приложение Node.js работает на порту 3000, тогда как пользователи обращаются к сайту через порты 80/443. Настроим 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
Ни один современный сайт не должен работать без 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
Никогда не храните учётные данные непосредственно в коде. Используйте переменные окружения:
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.
npm audit fix)pm2 start app.js -i max --name "myapp-cluster"
Установка и настройка Node.js на VPS Linux — задача вполне решаемая при правильном подходе. NVM обеспечивает гибкое управление версиями, PM2 гарантирует непрерывную работу приложения, а связка Nginx + SSL завершает надёжную и защищённую продакшн-конфигурацию.
Для максимальной производительности рекомендуем VPS NVMe с ультрабыстрым хранилищем — особенно когда ваше Node.js-приложение должно обрабатывать десятки или сотни одновременных запросов. Если вы предпочитаете делегировать администрирование сервера профессионалам, воспользуйтесь нашими услугами управления серверами. Свяжитесь с командой CliqHost — мы готовы помочь.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"Перенесли интернет-магазин с зарубежного хостинга — разница огромная: страницы открываются мгновенно, а поддержка отвечает за минуты, на румынском."
"Перенесли 12 клиентских сайтов на CLIQHOST. Бесплатная миграция, нулевой даунтайм, а настройка cPanel — именно то, что нужно нашей команде. Очень рекомендую."
"Наш VPS NVMe спокойно держит пики трафика. Полный root, локальный дата-центр и оплата в MDL — всё, что мы хотели от провайдера."