Установка Node.JS на Linux-сервере
![]()
Узнать последнюю актуальную версию Node.JS можно на официальном сайте:

Установка Node.JS из репозиториев операционной системы
При установке из стандартного репозитория вы получите неактуальную версию — ту, которая была доступна на момент выпуска вашей операционной системы. Для разработки или подготовки сервера под боевой проект этот способ установки не подойдёт. Но для обучения или экспериментов с кодом использовать можно.
Чтобы проверить доступную для установки версию, используйте команду:
apt show nodejs

Centos:
yum info nodejs
Установка выполняется за один шаг:
apt install -y nodejs npm
yum install -y nodejs
Чтобы убедиться, что установка прошла корректно, проверьте версию Node.JS и пакетного менеджера npm :
nodejs -v npm -v
node -v npm -v

Установка Node.JS из репозиториев NodeSource
При этом способе установки можно установить актуальную версию Node.JS. Список поддерживаемых операционных систем можно увидеть здесь.
Для установки потребуется curl . Во многих современных дистрибутивах Linux-систем он установлен по умолчанию. При необходимости можно выполнить ручную установку:
apt install -y curl
yum install -y curl
Для примера выполним установку последней стабильной версии Node.JS. Для этого нужно выполнить команды:
curl -sL https://deb.nodesource.com/setup_12.x | bash - apt install -y nodejs
curl -sL https://rpm.nodesource.com/setup_12.x | bash - yum install -y nodejs
Чтобы убедиться, что установка прошла корректно, проверим версию Node.JS и пакетного менеджера npm :
nodejs -v npm -v
node -v npm -v

Установка Node.JS с помощью менеджера версий nvm
Node Version Manager, или nvm , позволяет устанавливать любые версии Node.JS и при необходимости переключаться между ними. Инструкция по установке последней версии nvm доступна в описании официального Github-репозитория.
Для примера установим текущую актуальную версию nvm . Для этого, как в предыдущем случае, нам понадобится curl . С его помощью мы скачаем и запустим скрипт установки:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash
Скрипт установит nvm в домашнюю папку текущего пользователя (в примере это пользователь root и его папка /root ) и добавит алиас для вызова менеджера в конфигурационный файл пользователя. Чтобы обновить терминал с учётом этих изменений, введите команду:
source ~/.bashrc
После этого проверим версию nvm , чтобы убедиться, что установка выполнена корректно:
nvm -v

Теперь мы можем использовать весь функционал nvm .
Просмотреть полный список доступных к установке версий Node.JS можно с помощью команды:
nvm ls-remote
Установить самую последнюю версию Node.JS можно следующим образом:
nvm install node
node в примере — это алиас к последней актуальной версии.
Установить конкретную версию из списка доступных можно так:
nvm install v12.19.0
где v12.19.0 — номер необходимой версии Node.JS, который можно скопировать в выводе команды nvm ls-remote .
После установки проверьте, что Node.JS установлен корректно, с помощью команды:
node -v
Для проверки списка уже установленных версий Node.JS введите в терминале:
nvm ls

Между установленными версиями можно переключаться. Например, в примере с помощью nvm у нас используется версия v12.19.0 . Помимо неё мы можем переключиться на ранее установленную системную версию (которую можно установить одним из предыдущих способов установки Node.JS) или любую другую:
nvm use system

Удалить установленную с помощью nvm версию Node.JS можно в два шага:
-
Проверяем, какая версия Node.JS сейчас используется:
nvm current
nvm deactivate nvm uninstall v12.19.0
Если используется другая версия, удаление можно запустить сразу:
nvm uninstall v12.19.0
Как установить Node.js на Ubuntu
В статье мы расскажем, как проходит установка node js на Ubuntu и что это такое. Настройка VPS Node js Ubuntu по инструкции не займет у вас много времени.
Что такое Node.js
Node.js — это среда выполнения JavaScript. Платформа позволяет работать с JavaScript на стороне сервера. Раньше JavaScript мог выполнять только браузер, но благодаря Node.js код можно выполнять и вне браузера. Node.js построен на движке Chrome V8.
Обычно Node.js используют для написания серверного кода сайтов и веб-приложений, однако его можно использовать и для десктопных программ.

Как установить Node js на Ubuntu
Если ранее у вас уже была установлена какая-либо из версий Node, вы можете как переустановить Node js, так и полностью удалить старую версию, а после поставить новую. Мы расскажем, как поставить на VPS Node js с нуля.
Node.js можно установить на Linux Ubuntu несколькими способами:
- с помощью пакетного менеджера Ubuntu,
- через PPA (Personal Package Archive) — архив персональных пакетов,
- через NVM (Node Version Manager) — bash-скрипт,
- через бинарные файлы.
Рассмотрим самые простые и надежные способы — с помощью пакетного менеджера и через архив персональных пакетов PPA.
Установка Node.js через пакетный менеджер
Важно! Перед установкой убедитесь, что вы вошли под суперпользователем sudo.
- Откройте терминал.
- Обновите локальный индекс пакетов:
sudo apt update
3. Установите Node js репозиторий:
sudo apt install nodejs
4. Установите менеджер пакетов npm Ubuntu:
sudo apt install npm
5. Проверьте работоспособность программ командами:
nodejs -v
npm -v

Node js Ubuntu install
Готово, вы установили Node.js на виртуальный выделенный сервер (VPS) c Ubuntu.
Установка Node.js через архив персональных пакетов PPA
- Откройте терминал.
- Перейдите в домашнюю директорию:
3. Для установки версии PPA введите команду:
curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh
где вместо 8.x вы можете добавить нужную вам версию.
4. Проверьте содержимое скрипта с помощью nano или любого другого текстового редактора:
nano nodesource_setup.sh
5. Запустите скрипт с правами sudo. После этого PPA будет включен в конфигурацию. Ваш локальный кэш пакетов автоматически обновится.
sudo bash nodesource_setup.sh
6. Установите репозиторий Node.js:
sudo apt install nodejs
7. Установленный пакет Node.js содержит в себе менеджер пакетов npm. Для отслеживания обновлений npm обращается к конфигурационному файлу вашей домашней директории. Файл будет создан при первом запуске npm.
Проверьте работоспособность программы с помощью команд:
node -v
npm -v

Linux install Nodejs
Готово, вы установили Node.js на виртуальный сервер (VDS) c Ubuntu.
Популярные статьи
- Как указать (изменить) DNS-серверы для домена
- Я зарегистрировал домен, что дальше
- Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
- Что такое редирект: виды и возможности настройки
- Как создать почту со своим доменом
Установка Node.js на VDS
Рассмотрим процесс установки Node.js и менеджера пакетов npm на VDS с Debian или Ubuntu.
Подключитесь к VDS через SSH по нашей статье.
Перед установкой стоит проверить актуальность вашей системы. На устаревшие ОС установить Node.js скорее всего не получится. Здесь можно проверить список актуальный версий Ubuntu, а здесь Debian.
Узнать версию Ubuntu можно командой
Устанавливаем пакеты nodejs и npm из официальных репозиториев
Добавьте в систему репозиторий с желаемой версией (в примере используется 19 версия, но вы можете указать любую из доступных, просто поменяв число в команде)
curl -fsSL https://deb.nodesource.com/setup_19.x | bash —
Запустите установку и дождитесь её завершения
apt-get install -y nodejs
На этом установка выполнена и можно проверить версии установленных утилит:
# node -v v19.1.0 # npm -v 8.19.3
Установка с помощью nvm
nvm позволяет установить несколько версий Node.js одновременно, и быстро переключаться между ними. Кроме того, такой способ не требует привелегированных прав и позволяет установить Node.js локально любому пользователю. С помощью nvm можно поставить Node.js даже на хостинге.
Сперва скачайте скрипт установки nvm и запустите его
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Проверьте список доступных версий
Выберите желаемую версию и установите её
nvm install v18.12.1 # node -v v18.12.1
Бывает так, что окружение пользователя не обовилось и node -v не отрабатывает или показывает не ту версию. Тогда обновите окружение командой
Если вдруг оказалось, что проект не самый новый и требуется более ранняя версия, то просто установите её
nvm install v10.24.1 # node -v v10.24.1
А при необходимости переключиться обратно выполните
nvm use v18.12.1 # node -v v18.12.1
Подробно озакомиться с проектом nvm вы можете на его странице в GitHub.
Установка и настройка Node.js
Если вы используете Node.js как средство серверной разработки для своего сайта или web-приложения, то эта статья для вас, поскольку в ней мы рассмотрим настройку данной программной платформы и правильную организацию структуры папок для корректного функционирования вашего проекта.
Для начала вам необходимо установить Node.js на свой аккаунт. Скачать любую версию Node.js можно с официального репозитория https://nodejs.org/dist/. На момент написания данного руководства, последним релизом являлась версия v10.6.0, скачать её можно здесь.
Выбирать нужно версию для Linux, битность x64, архиватор GZIP. Скачиваем файл https://nodejs.org/dist/v10.6.0/node-v10.6.0-linux-x64.tar.gz
Для нужной версии вы сможете также установить и необходимые модули (см. ниже).
На хостинге функционирование Node.js реализовано через специальную библиотеку Passenger, которая осуществляет взаимодействие Вашего сайта с обработчиком Node.js
Рассмотрим структуру папок и файлов. Мы предлагаем реализовать ее примерно следующим образом:
- site-name.com (корневая папка вашего сайта)
- htdocs
- www
- nodejs_app
- www
- nodejs_tmp
- www
Ваша цель — создать идентичную структуру и разместить файлы в соответствующих схеме директориях. Далее мы наполним их содержимым.
Установка Node.js
Чтобы сразу начать пользоваться необходимой вам версией Node (при условии, что Вы уже получили доступ по SSH), можете ввести следующие команды в терминале для загрузки и распаковки архива с файлами:
Работа с .htaccess файлом
Чтобы Passenger мог взаимодействовать с Node.js, в файле .htaccess (мы рекомендуем располагать его здесь ./site-name.com/htdocs/www/.htaccess) необходимо прописать следующее:
PassengerAppRoot /home/hostXXXXXXX/site-name.com/nodejs_app/www PassengerAppType node PassengerStartupFile app.js PassengerNodejs /home/hostXXXXXXX/node/bin/node PassengerRestartDir /home/hostXXXXXXX/site-name.com/nodejs_tmp/www PassengerFriendlyErrorPages on
- Вместо hostXXXXXXX вы прописываете номер своего аккаунта
- site-name.com — это имя папки с вашим проектом
- app.js — название файла, который запускает работу серверной части (вы можете назвать его как захотите, главное, пропишите соответствующее имя в .htaccess)
- PassengerNodejs — путь до исполняемого файла Node.js
- PassengerFriendlyErrorPages — опция для отображения ошибок, в случае, когда приложение работает не корректно, или не запускается (по умолчанию — PassengerFriendlyErrorPages off). Данная опция выводит сообщения об ошибке, некоторые предложения по решению проблемы, трассировку и дамп переменных среды выполнения. Рекомендуется включать эту опцию только на этапе разработки. После её окончания удалите или закомментируйте в .htaccess эту опцию.
Включение лога ошибок
При разработке любого сайта или приложения разработчики допускают ошибки. По умолчанию, они записываются в папку logs, которая находится в корне сайта. Также, убедитесь, что у вас включена данная опция в панели управления. Во вкладке «Домены»→«Прикрепление домена», рядом с надписью «Лог-файлы веб сервера» есть переключатель, который включает/выключает данную опцию. После включения, логи начнут писаться в течение 5 минут (при обычной загруженности сервера).
Перезапуск приложения
Файлы restart.txt и always_restart.txt необходимы для того, чтобы при внесении вами каких-либо изменений в рабочие файлы (к примеру, app.js) Passenger, применяя правила записанные в .htaccess, мог перехватывать их и применять в работе сайта. Отличие заключается в том, что restart.txt сработает только один раз, а always_restart.txt перезапускает процесы веб-сервера при каждом поступившем запросе. Рекомендуется использовать always_restart.txt только при разработке. После того, как разработка проекта будет завершена, не забудьте удалить этот файл, чтобы избежать задержек при отображении страницы посетителям.
Если Вы уверены в том, что ваш код работает без багов, но всё-равно видите ошибки на странице, можно принудительно завершить все процессы с помощью следующей команды через SSH-соединение:
killall -2 "Passenger NodeApp"
После чего перезагрузить страницу.
Код для app.js
И напоследок, осталось добавить скрипт для запуска Node в app.js. Ниже представлен код с официального сайта Node.js (в дальнейшем вы можете изменять его по своему усмотрению, сейчас мы лишь хотим убедиться, что всё работает):
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => < res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); >); server.listen(port, hostname, () => < console.log(`Server running at http://$:$/`); >);
Итак, все настройки произведены. Откройте сайт в новой вкладке. Если выводится Hello world, то всё работает, как и ожидалось. В противном случае, ещё раз пройдите по вышеприведённому алгоритму действий. Возможно, вы что то упустили.
Пример подключения модуля
Чтобы установить какой-либо модуль в директорию с файлами приложения, при этом используя установленную версию Node.js, необходимо для начала прописать путь до исполняемого файла node в .bash_profile (он лежит в корне вашего аккаунта). После этого вы сможете обращаться к нему из любой директории вашего проекта.
Итак, откройте .bash_profile и допишите следующую строку:
PATH=$HOME/.local/bin:$HOME/bin:$HOME/site-name.com/node/bin:$PATH
Для примера, рассмотрим подключение модуля mysql для работы с базой данных (предварительно, создайте таблицу под любым названием и поместите туда несколько записей). Чтобы установить даный модуль, зайдите через SSH-соединение в директорию «nodejs_app/www» и введите в терминале команду:
npm init --force
Таким обазом создастся файл package.json с данными о вашем приложении. После этого наберите команду:
npm install mysql --save-dev
Вы увидите, что автоматически создастся новая директория «node_modules» и подгрузятся необходимые нам для работы файлы.
Также, рекомендуем загрузить 2 часто используемых модуля — fs (для работы с файлами) и util (для красивого вывода объектов в консоль)
npm install fs util --save-dev
Далее, открываем файл нашего приложения app.js и добавляем следующий код:
const fs = require('fs'); const util = require('util'); var log_file = fs.createWriteStream(__dirname + '/debug.log', ); var log_stdout = process.stdout; console.log = function(d) < log_file.write(util.format(d) + '\n'); log_stdout.write(util.format(d) + '\n'); >; const mysql = require('mysql'); const connection = mysql.createConnection(< host : 'localhost', user : 'hostXXXXXXX', password : 'your_password', database : 'your_database_name' >); connection.connect(); connection.query('SELECT * FROM my_table', function (error, results, fields) < if (error) throw error; results.forEach(function(obj) < console.log( util.inspect(obj) ); >); >); connection.end();
В коде выше мы, с помощью модуля fs, создаём новый файл debug.log, в который будем помещать вывод функции console.log
Далее, переопределяем саму функцию console.log, задействуя поток на запись.
Теперь, при помощи модуля mysql, подключаемся к своей БД и выбираем все записи из нужной нам таблицы, прописывая их в созданный нами файл.
Проверим, всё ли сработало: перезагрузите страницу своего сайта и откройте файл debug.log — вы должны увидеть вывод всех записей из таблицы.
Запуск приложений через crontab
Для запуска приложений Node.js через crontab создайте shell скрипт и определите в нём переменную окружения PATH исходя из ваших требований, или можно указать полный путь к бинарному файлу nodejs и скрипту. Простейший Shell скрипт для запуска nodejs приложения:
#!/usr/bin/env sh env PATH=/home/hostXXXXXXX/node-vXX.ZZ.YY/bin:/home/hostXXXXXXX/node-vXX.ZZ.YY/bin:$PATH node example.js
Или команда для запуска целиком:
/home/hostXXXXXX/nodejs/bin/node /home/hostXXXXXX/nodeproject/example.js
Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».