Установка Node.js на сервер и запуск приложения: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка Node.js на сервер и запуск приложения.
Коротко
Установка Node.js на Ubuntu делается тремя способами: через менеджер версий nvm, через репозиторий NodeSource или пакетом apt. Для сервера берут LTS-ветку, то есть версию с долгой поддержкой: на странице загрузок nodejs.org на 15 октября 2026 это Node.js 24. Затем приложение запускают под менеджером процессов PM2 или systemd и ставят перед ним Nginx.
Конспект по разделам
Установка Node.js на Ubuntu: nvm, NodeSource или apt
Для одного приложения на сервере удобен NodeSource: после подключения репозитория Node.js обновляется как обычный пакет. Если проектам нужны разные версии, ставьте nvm. Скрипты подключения берите с официальных страниц NodeSource и репозитория nvm: ссылки с номерами версий меняются.
Запуск Node.js-приложения на сервере: PM2 или systemd
Команда node server.js остановится вместе с терминалом, поэтому приложению нужен менеджер процессов, который перезапустит его после сбоя и после перезагрузки сервера. Приложение слушает локальный адрес 127.0.0.1: наружу его выставляет Nginx. За прокси в Express добавляют app.set('trust proxy', 1), иначе в запросах окажется адрес прокси вместо адреса посетителя.
Nginx перед Node.js: проксирование, WebSocket и HTTPS
Nginx принимает HTTPS на порту 443 и передаёт запросы на локальный порт приложения. Для socket.io и других WebSocket-соединений в блок добавляют две строки с заголовками Upgrade: Сертификат выпускает Certbot, а с Caddy достаточно одной строки reverse_proxy. Порядок установки самого веб-сервера: установка Nginx.
Node.js в Docker: Dockerfile для приложения
Файлы package.json копируются первыми, поэтому слой с зависимостями пересобирается, только когда они меняются. Команда npm ci ставит версии строго по lock-файлу, а ключ --omit=dev оставляет в образе только то, что нужно для работы. Запуск от пользователя node снижает ущерб, если в приложении найдут уязвимость.
Где запускать Node.js: маркетплейс, App Platform или VPS
В маркетплейсе Таймвеб Клауд есть образ Node.JS (6 328 установок на 14 октября 2026): он создаёт сервер с уже установленным окружением. Версию проверьте командой node -v и при необходимости переставьте через nvm. Если проект собирается на сервере из Git и не требует администрирования, посмотрите платформу: фронтенды на React, Vue, Next.js, Nuxt, Angular и Svelte деплоятся из репозитория, остальное принимается через Docker, тарифы от 1 ₽ в месяц.
Установите приложение без консоли
Маркетплейс ставит готовый образ на новый сервер: Docker, GitLab, Nextcloud, n8n и другие.
- Docker, n8n, OpenClaw, GitLab, Nextcloud
- Ставится при создании сервера
- Почасовая оплата сервера
- Root-доступ остаётся у вас
Данные
| Способ | Плюс | Минус |
|---|---|---|
| apt install nodejs | Одна команда, обновления вместе с системой | Версия в репозиториях Ubuntu обычно отстаёт |
| NodeSource | Свежая LTS-ветка, обновление через apt | Подключается сторонний репозиторий |
| nvm | Несколько версий на одной машине, смена командой | Ставится на пользователя, а не на систему |
| PM2 | systemd | |
|---|---|---|
| Запуск | pm2 start server.js --name site | Файл службы и systemctl enable --now |
| Автозапуск | pm2 save и pm2 startup | Входит в службу |
| Несколько процессов | Режим кластера, ключ -i max | Несколько экземпляров службы |
| Путь к node | Берётся из окружения | Указывается полностью в ExecStart |
Данные на 14 октября 2026.
Вопросы и ответы
Как установить Node.js на Ubuntu последней LTS-версии?
Подключить репозиторий NodeSource и поставить пакет nodejs через apt либо выполнить nvm install --lts. Версию проверить командой node -v.
Почему служба systemd не находит Node.js, поставленный через nvm?
nvm меняет PATH только в сессии пользователя, а systemd её не читает. В ExecStart укажите полный путь к node, который показывает команда which node.
Что выбрать для запуска Node.js на сервере: PM2 или systemd?
systemd уже есть в системе и подходит для одного процесса. PM2 удобен, когда нужен кластерный режим, просмотр логов и перезапуск без простоя одной командой.
Нужен ли отдельный хостинг для Node.js, если сайт собран на Next.js или Nuxt?
Для статической сборки сервер Node.js не нужен, хватит платформы деплоя. Для серверного рендеринга процесс Node.js должен работать постоянно, как описано выше.
Как проверить, что npm установился вместе с Node.js?
Выполнить npm -v. Если команда не найдена после установки через apt, поставьте пакет npm отдельно: в некоторых репозиториях он отделён от nodejs.