Определение простыми словами
Node.js — серверная среда выполнения JavaScript. Чтобы запустить приложение, нужен установленный runtime, доступ к npm-зависимостям и возможность держать процесс в фоне. Хостинг с Node.js предоставляет всё это: фиксированную версию или менеджер вроде nvm, готовое проксирование с 80/443 на ваш порт и инструменты автозапуска (PM2, systemd, supervisor).
В отличие от PHP-хостинга, где код выполняется при каждом запросе, Node.js работает как долгоживущий процесс. Это даёт выигрыш в скорости и поддержку WebSocket, но требует процесс-менеджера. Альтернатива — взять PaaS с автоматическим деплоем по git push.
Сравнение
| Параметр | Shared с Node.js | VPS | PaaS |
|---|---|---|---|
| Версия Node.js | Фиксированная (часто LTS) | Любая через nvm | Из меню |
| Процесс-менеджер | Встроенный | PM2, systemd | Скрыт от клиента |
| WebSocket | Зависит от провайдера | Полная поддержка | Поддерживается |
| Native-модули | Часто запрещены | Любые | Из buildpack |
| Деплой | FTP/Git | Любой | git push |
Кейсы использования
- API на Express, Fastify, NestJS для мобильных и SPA-приложений.
- SSR-фронтенд на Next.js, Nuxt, Remix.
- Чат-боты, мессенджер-интеграции и WebSocket-сервисы.
- Очереди задач на BullMQ и фоновые воркеры.
- Негативный сценарий: блог-визитка на Node.js с трафиком 10 человек в день. Гонять процесс ради такой нагрузки бессмысленно — выгоднее статика на хостинге или классическая CMS на PHP.
Технические детали
node -v && npm -v
npm ci --omit=dev
pm2 start ecosystem.config.js
pm2 save && pm2 startup
curl -I https://example.com/api/health
В типовом сценарии после npm ci приложение запускают через PM2, фиксируют автозагрузку и проверяют доступность через HTTPS. Перед Node.js обычно ставят nginx, который терминирует SSL, добавляет gzip и проксирует запросы на 3000-й порт. Для работы WebSocket нужны заголовки Upgrade и Connection.
🔥 Где это применяется
Частые вопросы
Какую версию Node.js выбирать?
Для новых проектов берите активный LTS (на момент 2026 — Node 22). Нечётные версии живут полгода и подходят только для тестов новых фич.
Можно ли запустить Next.js на shared-хостинге?
Чистый SSG — да, любой статический хостинг. Полный SSR с серверными функциями требует Node.js-хостинга или PaaS вроде Vercel.
Зачем нужен PM2, если есть systemd?
PM2 ставится из npm и не требует root. Удобен на shared. На VPS, где есть root, systemd предпочтительнее — он надёжнее и не плодит лишних процессов.