Документация / Администрирование
Node.js 20 и 22
Обновлено 14.11.2026
Установка
Пакет nodejs устанавливает Node.js 20 как /bin/node. Пакет
nodejs22 устанавливает Node.js 22 LTS для musl как /bin/node22.
Обе версии можно установить рядом.
setup update
setup install nodejs nodejs22
node --version
node22 --version
Установка зависимостей
Оба пакета поставляют среду Node.js. Подготовьте
зависимости проекта на машине с рабочим Node.js и npm. Для установки
зависимостей в госте распакуйте полный дистрибутив npm в /opt/npm
и запустите bin/npm-cli.js через выбранный интерпретатор.
mkdir -p /opt/my-api
cd /opt/my-api
/bin/node /opt/npm/bin/npm-cli.js init -y
/bin/node /opt/npm/bin/npm-cli.js install express
Для готового проекта с package-lock.json используйте
/bin/node /opt/npm/bin/npm-cli.js ci --omit=dev. Храните
package-lock.json вместе с приложением. Переносите дерево
node_modules архивом, который сохраняет символические ссылки. npm использует
их в node_modules/.bin и для локальных пакетов. Нативный аддон должен
соответствовать архитектуре x86_64, libc выбранного Node.js и ABI аддона.
HTTP API
Сохраните как /opt/my-api/server.cjs.
const express = require('express');
const app = express();
app.get('/health', (_req, res) => res.json({ ok: true }));
app.listen(Number(process.env.PORT || 3000), '127.0.0.1');
Создайте /etc/services/my-api.
exec /bin/node /opt/my-api/server.cjs
health http 3000 /health
service enable my-api
service status my-api
curl -fsS http://127.0.0.1:3000/health
Для Node.js 22 замените /bin/node на /bin/node22 в файле службы.
В Fastify используйте тот же порт и адрес 127.0.0.1. Публикация API
через nginx позволяет оставить API на локальном адресе.