Как установить node js на сервер
Перейти к содержимому

Как установить node js на сервер

  • автор:

Как установить Node.js на хостинг?

Lynn

Никак. Чтобы поставить ноду — вам нужен свой сервер. И это, кстати, не проблема. Сейчас можно арендовать впс-ку рублей за 200-300.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

solidcreature

Николай Миронов @solidcreature
Развиваю сообщество WordPress в Москве

Вот статья из FAQ хостинга Таймвеб, как установить Node JS и NPM на обычный шаред хостинг
https://timeweb.com/ru/help/pages/viewpage.action.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

postgresql

  • PostgreSQL
  • +2 ещё

Как при деплое тг бота на сервер решить вопрос с подключением к БД PostgreSQL?

  • 1 подписчик
  • вчера
  • 81 просмотр

Как установить Node.js + npm на хостинг?

Node.js представляет среду выполнения кода на JavaScript, которая построена на основе движка JavaScript Chrome V8, который позволяет транслировать вызовы на языке JavaScript в машинный код. Node.js прежде всего предназначен для создания серверных приложений на языке JavaScript.

NPM, сокращенно от Node Package Manager — это стандартный менеджер пакетов для Node.js и крупнейший в мире репозиторий программного обеспечения для публикации с открытым исходным кодом Node.js пакетов.

Для установки Node.js и npm необходимо подключиться по SSH к серверу хостинга.

Инструкции по подключению Вы можете найти в разделе [РАБОТА С SSH].

Установка Node.js на хостинг возможна через NVM (Node Version Manager).

1. После подключения на сервер, прямо в начальной директории Вашего хостинг-аккаунта, выполните следующую команду для установки NVM :

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

Скрипт скопирует NVM репозитарий с Github в «$HOME/.nvm» и добавит путь к скрипту в локальный Bash профиль хостинг аккаунта.

Вывод предыдущей команды сообщит, что нужно или переподключиться по SSH или запустить

команды, которые добавят путь к NVM в текущую сессию.

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Эта команда загрузит nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # Эта загрузит nvm bash_completion

Что бы проверить корректность устновки NVM и установленную версию, введите команду

nvm --version

Вывод должен быть такого вида:

0.35.3

2. Теперь, когда NVM установлен, можно установить последню доступную версию Node.js. Для этого нужно ввести команду:

nvm install node

Корректность установки и версию Node.js можно проверить командой:

node --version

Пример вывода команды:

v15.5.1

3. Для установки npm используйте команду:

curl https://npmjs.org/install.sh | bash

Проверить корректность установки и узнать версию менеджера пакетов можно командой:

npm --version

Создание проекта начинается с иницализации командой:

npm init

Все категории вопросов

  1. Общие вопросы по услуге хостинга
  2. Робота с хостинг 2.0
  3. Работа с базами данных [MySQL]
  4. Работа с файловым менеджером
  5. Работа с FTP
  6. Работа с SSH
  7. Работа с почтой
  8. Работа с Cron
  9. Работа с SSL
  10. Работа с резервным копированием
  11. Работа с htaccess
  12. Работа с CMS
  13. Дополнительные услуги
  14. Нагрузка
  15. Ошибки на сайте
  16. Конструктор сайтов
  1. Регистрация и продление доменов
  2. Управление DNS-записями домена
  3. Трансфер домена
  4. Смена контактных данных владельца домена
  5. Настройка CloudFlare
  1. Общие вопросы по серверам
  2. Администрирование виртуального сервера (VPS)
  3. Администрирование выделенного сервера (DS)
  4. Инструкции по Windows Server
  5. Инструкции по Linux
  6. Панель управления FASTPANEL
  7. Панель управления Hestia CP
  8. Панель управления Vesta CP
  1. Платный SSL-сертификат
  2. Файловое хранилище
  3. SMS-сервис
  4. CallBack-сервис

Использование Node.js и npm

Вы можете использовать Node.js на виртуальном хостинге в качестве консольной утилиты, но запуск в виде системной службы или веб-сервера будет невозможен из-за ограничений. Чтобы разместить Node.js-службу, подойдут наши виртуальные серверы .

  • Установка nvm
  • Установка Node.js и npm

Установка nvm

Чтобы установить Node.js на хостинг, вы можете воспользоваться утилитой nvm . Последнюю версию можно установить на аккаунт командой:

touch ~/.bash_profile
curl -Ls https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

Утилита будет установлена в домашнюю директорию .nvm , куда также в дальнейшем будет установлен Node.js.

После выполнения команды в файл .bash_profile будут добавлены команды для активации nvm. Чтобы они вступили в силу, необходимо перезапустить SSH-сессию или выполнить команду:

source .bash_profile

Теперь вы можете устанавливать любые версии Node.js и переключаться между ними.

Установка Node.js и npm

Рекомендуемая команда для установки:

nvm install --lts=gallium

С помощью неё устанавливается последняя стабильная версия на момент написания статьи — v16 Gallium . Вы также можете устанавливать любые другие версии, например:

nvm install 16.16.0

Справка по утилите nvm доступна в репозитории Github .

Серверы виртуального хостинга работают на операционной системе Ubuntu 18.04, которая не поддерживает Node.js v18. Пока серверы не обновлены до более новой версии Ubuntu, устанавливать Node.js выше v16 не рекомендуется. Уточнить наличие серверов с более новой версией Ubuntu можно у технической поддержки.

Если вы установили несколько версий, то посмотреть их список можно командой:

$ nvm ls
 v14.20.0 
v16.15.0
-> v16.16.0

Чтобы затем переключиться на другую версию, используйте команду:

nvm use v14.20.0

Пакетный менеджер npm будет доступен после установки одной из версий. Чтобы его обновить, используйте команду:

npm update npm -g

Деплой Node.js-приложения

Node.js — среда выполнения JavaScript, которая используется для запуска кода на стороне сервера. С её помощью вы можете написать любой серверный скрипт для веб-приложений. В этом руководстве мы покажем, как приложение Node.js можно развернуть на сервере Timeweb Cloud с Linux.

Установка необходимого ПО

Прежде всего необходимо подготовить хост для деплоя веб-приложения. На облачные серверы устанавливаются разные ОС. В этом руководстве мы будем использовать в качестве примера машину с Ubuntu.

Сначала получите последние обновления:

sudo apt-get update

Затем установите Node.js:

sudo apt-get install nodejs

И установите npm для управления пакетами Node.js:

sudo apt-get install npm

Чтобы убедиться в том, что инсталляция ПО прошла успешно, проверьте версии Node.js и npm:

nodejs -v
npm -v

Подробнее о разных методах установки Node.js на Ubuntu мы писали здесь.

Перенос кода на сервер

Деплой Node.js-приложения начинается с переноса кода проекта на хост. Самый удобный способ сделать это — использовать систему контроля версий Git.

Убедитесь, что на Ubuntu установлен Git:

git --version

Если гита нет, установите его:

sudo apt install git

Допустим, код проекта хранится на GitHub. Клонируйте его на сервер:

git clone https://github.com/contentful/the-timeweb-app.nodejs

После команды git clone укажите адрес репозитория, в котором хранится проект, чтобы выполнить его клонирование.

Установка зависимостей

Для нормальной работы приложения Node.js деплой должен включать также развёртывание зависимостей — всех пакетов, которые используются в проекте.

Перейдите в корневой каталог вашего проекта и выполните:

npm install

Эта команда проверит файл package.json в проекте и установит пакеты, которые нужны на продакшене. После их добавления на сервер вы можете запустить приложение с помощью команды:

node app.js

Вместо app.js укажите имя корневого файла приложения Node.js.

Управление запуском и обновлением приложения

Ваше Node.js-приложение уже работает на сервере. Но стоит вам закрыть терминал, как оно остановится. Есть и другая проблема — когда вы меняете код приложения, эти изменения не отражаются автоматически на сайте.

Решить эту проблему можно с помощью менеджера процессов pm2 . Этот пакет заставит приложение работать в фоновом режиме. Кроме того, менеджер будет отслеживать код и автоматически перезапускать сервер всякий раз, когда вы применяете изменения с помощью директивы —watch .

Установите pm2 командой:

sudo npm install pm2 -g

Затем запустите сервер Node.js, используя pm2 :

sudo pm2 start app.js --name "web-app" --watch

В примере мы использовали имя «web-app» . Так будет называться запущенный процесс. Вы можете придумать любое другое имя. Директива —watch указывает на то, что pm2 необходимо перезапустить приложение при изменении исходного файла. Теперь все обновления, которые вы принесёте в код проекта, будут сразу отображаться в продакшене.

Осталось разобраться ещё с одним моментом — автоматическим стартом веб-приложения при запуске/перезагрузке сервера. Для этого выполните следующие команды:

sudo pm2 startup
sudo pm2 save

Вам нужно только один раз запустить команду startup , чтобы сгенерировать нужные параметры старта. Команда save указывает pm2 на необходимость сохранить текущие запущенные процессы.

Теперь сервер будет продолжать работать вне зависимости от того, закроете ли вы терминал. После перезапуска системы все необходимые процессы также будут запускаться в автоматическом режиме.

Вы можете узнать больше о работе pm2 из официальной документации .

Вывод

В этой статье мы успешно выполнили деплой Node.js на хостинг с Ubuntu. Проект работает без сбоев и автоматически обновляется всякий раз при внесении изменений. Однако это был очень простой пример использования Node.js. Он подходит для развёртывания домашних и учебных проектов.

При деплое вам также может понадобиться дополнительная настройка — например, установка SSL-сертификатов или изменение конфигурации Nginx. Окончательный список действий, которые необходимо выполнить для развёртывания приложения на продакшене, зависит от того, какой стек оно использует, какие зависимости и связи имеет — базы данных, веб-серверы, утилиты для автоматизации.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *