Настройка vps ноде js что это
Перейти к содержимому

Настройка vps ноде js что это

  • автор:

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

При первом подключении система спросит нужно ли добавлять IP в список доверенных хостов, необходимо ввести «yes», нажать «Enter», после чего ввести пароль. Если Вы копируете пароль из письма, отправленного Вам после заказа сервера, будьте внимательны и не скопируйте лишний пробел. Вот так будет выглядеть окно после подключения к серверу по SSH:

Подключение к серверу по SSH

Установка Node.js на Centos

После того как мы подключились необходимо обновить репозиторий программ до последних версий с помощью следующей команды

yum -y update

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

Затем необходимо установить Development Tools. Это группа инструментов для компиляции ПО из исходного кода. Мы будем использовать следующую команду:

yum -y groupinstall "Development Tools"

Отчет об установке Development Tools

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

Затем необходимо установить GNU screen для того, чтобы иметь возможность при подключении к ВПС иметь доступ к нескольким сессиям одновременно. Мы будем использовать следующую команду для установки:

yum -y install screen

Отчет об установке GNU screen

После того, как мы подготовили систему к установке Node.js необходимо перейти в каталог, в котором вы будете хранить системные файлы. По умолчанию это src, перейти в него можно с помощью следующей команды:

cd /usr/src

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

Переход в папку с системными файлами

Затем необходимо скачать последнюю версию программы с помощью команды wget.

Чтобы получить необходимую нам ссылку на последнюю версию необходимо перейти на https://nodejs.org/en/download/ и в новой вкладке открыть ссылку «Source Code». Скачивать архив на свой компьютер не нужно, нас интересует только ссылка на него, которую мы скопируем из строки браузера. После этого необходимо выполнить следующую команду:

wget http://nodejs.org/dist/v4.2.2/node-v4.2.2.tar.gz

Скачивание архива

После скачивания архив необходимо распаковать с помощью этой команды:

tar zxf node-v4.2.2.tar.gz

После распаковки мы переходим в папку с установочными файлами, используя уже знакомую нам команду:

cd node-v4.2.2

Перед установкой необходимо подготовить команды компилятора используя

./configure

Если Вы получаете следующее уведомление:

Предупреждение

значит текущая версия Node.js несовместима с вашим компилятором, либо же архив был скачан не полностью, поэтому необходимо скачать другую версию или попробовать скачать текущую еще раз.

После подготовки компилятора необходимо скомпилировать исходный код с помощью команды

make

Компиляция может занять от 5 до 10 минут, если выполнение команды заняло меньше, внимательно прочитайте отчет, возможно произошла какая-то ошибка и компиляцию необходимо провести еще раз или скачать другую версию Node.js.

После завершения компиляции выполняем установку с помощью команды:

make install

Когда установка завершена на экран будет выведен путь, куда помещены конфигурационные файлы, по умолчанию это /usr/local/bin/node.

Путь к файлам

Установка Node.js на Debian/Ubuntu с помощью nvm

Для установки Node.js на Debian/Ubuntu лучше всего использовать инструмент nvm, так как с его помощью можно выбрать версию при установке.

Для начала необходимо обновить пакеты системы с помощью команды:

sudo apt-get update

Обновление системы

Затем устанавливаем пакеты из репозиториев нашей ОС, которые позволяют собирать пакеты из исходников, используя данную команду:

sudo apt-get install build-essential libssl-dev

Во время установки на Debian система может попросить подтвердить, что Вы готовы использовать дополнительное место на диске, необходимо ввести «yes» и нажать «Enter»

Подтверждение использования места на диске

Затем устанавливаем NVM c помощью следующей команды:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

Установка NVM

После установки NVM нам нужно будет перелогиниться в систему либо же обновить данные с помощью команды

source ~/.profile

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

nvm ls-remote

Список доступных версий

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

nvm install 5.1.0

Установка выбранной версии

После установки эта версия будет использоваться по умолчанию. Если на вы установили на сервере несколько версий, то для того, чтобы указать системе какую версию необходимо использовать применяем следующую команду:

nvm use 5.1.0

По умолчанию исполняемый файл Node.js вызывется командой

Как установить 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.

  1. Откройте терминал.
  2. Обновите локальный индекс пакетов:
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

  1. Откройте терминал.
  2. Перейдите в домашнюю директорию:

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 для своего домена
  • Что такое редирект: виды и возможности настройки
  • Как создать почту со своим доменом

VPS с Node.js

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

Примеры использования Node.js

  • — Кроссплатформенные мобильные приложения
  • — Интернет вещей (IoT)
  • — Бэкенд веб-сайтов
  • — Real Time Applications

Возможности Node.js

  • — Небольшое потребление ресурсов
  • — Встроенный менеджер пакетов
  • — Эффективная обработка большого количества запросов
  • Сайт проекта nodejs.org
  • Категория Серверный Javascript
  • Версии Последняя стабильная
  • Системные требования Для серверов
    с тарифом не ниже
    Base-1.

VPS с Node.js

Отзывы

Олег Отзыв на hosting101.ru Использую базовый тариф на vps: памяти хватает, проект работает стабильно, по стоимости более чем устраивает. Техническая поддержка у хостинга тоже хорошая — всегда оперативно отвечают.

Ignatenko Отзыв на hosting101.ru Отличная услуга VPS. До этого пользовался вдской тоже у рег.ру ну и не только. Но как перешёл на vps стал всем её советовать) возможность восстановить прежнюю версию сайта, высокая скорость закгрузки, никаких факапов. Ну короче, меня эти все эти факторы искренне порадовали и я теперь всем советую переходить на vps. а хостится у рег.ру мне тоже очень нравится.

Victor Отзыв на hosting101.ru Очень хороший ресурс. Периодически создаю VPS для небольших, временных, проектов. Личный сайт тоже держу здесь, работа стабильная проблем пока не было. Периодически радуют бонусами, несколько раз удавалось продлить хостинг бесплатно. Да, всего на месяц, но всё равно приятно). Есть довольно интересная реферальная программа, но к сожалению лично пока не проверял.

Dmitriy Volkov Отзыв на hosting101.ru Очень классный хостинг, и провайдер в целом. Пользуюсь услугами reg.ru уже год.
Из плюсов:
+Быстрый и безлимитный интернет
+Неплохая мощность за небольшие цены
+Мгновенное создание VPS сервера
+Почасовая оплата
+Возможность отменить услугу в любой момент
+Удобная панель управления сервером.

Минусов не нашел.
Сервер Yellow Arsenicum #1105111

Никита32 Отзыв на hosting101.ru Заказал себе тариф — Azure Fluorum #1082943

1) Скорость работы на высшем уровне
2) Быстрый ответ поддержки
3) Брал тариф 5 ггц им очень доволен.
4) Порадовала панель
5) Скорость интернета у них топ!

Минусы не обнаружил

The-TS Отзыв на hosting101.ru Мне нравится этот провайдер.

Классная поддержка, Wiki и цены.
Мне нужен был самый простой VPS и это он.
У меня стоит SSH-туннель и все работает стабильно.
Вопросов нет, как и минусов.
Сервер #950113

Table1818 Отзыв на hosting101.ru После того как перенес сайт с виртуального хостинга на облачный, он сразу же стал работать в 2 раза быстрее. Спасибо техподдержке, которая помогла определиться с наиболее оптимальным тарифом под мои требования.

Остались вопросы?

Node.js — что это такое и для чего нужен?

Node.js на VDS/VPS-хостинге позволяет вам разрабатывать веб-серверы, приложения и другие инструменты на JavaScript. На наших серверах установлены быстрые SSD-диски, а также предусмотрена возможность гибко выбирать конфигурацию исходя из системных требований, что позволит вам создавать и настраивать на Node.js высокопроизводительные проекты.

Как установить и настроить Node.js на Linux server?

Автоматическая установка Node.js доступна для нового сервера с Ubuntu 20.04 или Ubuntu 18.04 (auto-install). На другие ОС и на готовые серверы платформу нужно устанавливать самостоятельно.

Подробная настройка сервера для работы с Node.js описана в руководстве в нашей Базе знаний.

Как переустановить и обновить версию Node.js?

1. Очистите кеш npm (пакетного менеджера Node.js), введя в консоль команду:

npm cache clean —f

2. Установите менеджер версий Node.js:

npm install —g n

3. Установите последнюю стабильную версию Node.js:

n stable

Как подключить свой проект к Node.js на сервере?

Чтобы перенести на VPS свой репозиторий GitHub с проектом Node.js, рекомендуем установить приватный SSH-ключ на сервер и подключаться к GitHub без указания логина и пароля. Подробнее о генерации ключа — в документации GitHub.

Как работать с файлами в Node.js?

Для доступа к файловой системе в Node.js используются модули fs и path. С их помощью можно читать/записывать данные в файлы, подключаться к директориям и многое другое.

Свой Node.js хостинг на VPS

По ходу изучения Node.js я создал много маленьких проектов. В дальнейшем мне понадобилось развернуть некоторые из них на сервере, чтобы иметь возможность развивать их в дальнейшем. Существующие хостинги Appfog и Heroku имеют ряд серьезных ограничений на бесплатных аккаунтах. На Appfog’е можно запускать одновременно не больше 2-х приложений, и бесплатная регистрация у них уже отключена. На Heroku можно создать только 5 приложений (без базы данных) без подтверждения аккаунта привязкой банковской карты. Платные аккаунты стоят очень дорого для меня (я ведь не зарабатываю на этих маленьких проектах): $20 долларов на Appfog, а heroku еще дороже. Коллеги порекомендовали попробовать хостинг на Digital Ocean — виртуальный сервер за $5 доларов в месяц, на котором можно легко настроить собственный хостинг node.js-проектов.

О том, как организовать такой хостинг, и будет идти речь в этой статье. Если по ходу руководства у вас возникнут проблемы, поищите их решение в конце статьи.

Создаем VPS

1. Регистрация на DigitalOcean

Первым делом регистрируемся на сайте DigitalOcean. Здесь мы купим VPS — виртуальный сервер. После удачной регистрации и входа в свою админку жмем на большую зеленую кнопку «Create» и нам предложат активировать свой аккаунт, внеся $5 долларов. Ниже на странице есть место для указания счастливого купона на $10, вводите OMGSSD10 или поищите свежий купон. Так как моя банковская карточка не подошла хостеру, я оплатил пейпалом и у меня на счету оказалось $15. Этого должно хватить на 3 месяца.

2. Создаем SSH-ключ

Доступ к удаленным серверам обычно делается по ssh. Это такая технология защищенных соединений. Зайти в нашу будущую VPS можно по паролю или по SSH-ключу. Я настоятельно рекомендую второй вариант, не придется все время вводить пароль. Также, SSH-ключ все равно нужно будет указать при создании нашего нового «дроплета» (словом «droplet» DigitalOcean называет виртуальный сервер).

Выполните следующие две команды в терминале, чтобы сгенерировать ssh-ключ:

$ cd ~/.ssh $ ssh-keygen -t rsa -C "email@example.com" 

И тут нас просят ввести имя файла ключа. Рекомендую использовать что-нибудь вроде id_rsa_digitalocean_dropletname , где имя дроплета — это либо имя домена, на который мы привяжем наш сервер, либо просто какое-нибудь осмысленное название. Парафразу можно оставить пустой, и так сойдет.

После этого будет создано два файла: ssh-ключ и public-ключ. Скопируем публичный ключ в буфер обмена модным способом:

$ cat ~/.ssh/id_rsa_digitalocean_dropletname.pub | pbcopy 

Теперь зайдем в админку в digitaloceans в раздел SSH-keys и создадим там новый ключ, вставив его из буфера обмена.

3. Создаем дроплет
  • В качестве hostname укажите доменное имя или что-нибудь осмысленное, это название роли не играет
  • Размер выбирайте самый маленький, его потом можно будет увеличить из терминала
  • Регион любой, я выбрал Амстердам
  • Образ выберите на вкладке Applications, c названием «Dokku v0.2.3 on Ubuntu. » или похожим
  • Укажите SSH-ключ, который мы создали на предыдущем шаге

Выбранный образ помимо операционной системы Ubuntu 14.04 содержит самое главное: Dokku. Это готовая система для хостинга node.js-проектов, очень похожая на Heroku. Использование образа с предустановленным Dokku избавит нас от необходимости устанавливать и настраивать систему для хостинга Node.js.

4. Настройка Дроплета и DNS

Droplet setup page

Теперь нужно настроить новосозданный сервер. Зайдите в браузере по IP-адресу дроплета и вы увидете экран настройки. Если такой страницы нет, смотрите что делать в конце статьи.

Здесь вы должны убедится, что поле «Public Key» заполнено. Если нет — укажите свой public key из недавно сгенерированного ключа. Однако практика показала, что лучше вообще удалить такой дроплет и создать новый, правильно указав SSH-ключ.

Если у вас нет доменного имени, то оставьте все, как есть, жмите «Finish setup» и переходите к следующему пункту. Ваше приложение будет доступно примерно так: «19.19.197.19:46667», по IP адресу и номеру порта. Если вас это не устраивает — срочно купите доменное имя. В любом случае, настроить доменное имя можно будет позже, о чем я расскажу в конце.

Если вы укажете доменное имя, у вас будет возможность настроить доступ к приложениям через поддомены. Например, если ваше доменное имя mydomain.com , тогда ваше приложение будет доступно по адресу app.mydomain.com . Также есть возможность привязать приложение на главный домен, но об это я в данной статье не расскажу.

Укажите в поле Hostname ваше доменное имя и поставьте галочку «Use virtualhost naming for apps». Теперь идите в панель управления вашим доменным именем и впишите две новые настройки примерно так:

apps.mydomain.com. IN A [Droplet IP address]
*.apps.mydomain.com. IN A [Droplet IP address]

mydomain.com. IN A [Droplet IP address]
*.mydomain.com. IN A [Droplet IP address]

Точный синтаксис уточните у себя в админке доменного имени или у домен-провайдера.

Теперь возвращайтесь на страницу настройки дроплета и жмите «Finish setup».

5. Настраиваем использование SSH

Давайте попробуем соединиться с нашим новым сервером. Чтобы получить доступ дроплету через SSH-ключ, нужно еще одно маленькое действие. Откройте терминал и передите в папку с ssh-ключами:

$ cd ~/.ssh/ 

Если у вас еще нет файла «config» в этой папке (проверка — $ ls ), то его необходимо создать:

$ touch config 

Теперь открываем config( $ open config ) и записываем в него следующие данные:

Host YOUR.DROPLET.IP.ADDRESS IdentityFile ~/.ssh/id_rsa_digitalocean_dropletname

Где в первой строчке IP адрес или доменное имя, на второй строчке — имя созданного ssh-ключа для этого дроплета.

$ ssh root@YOUR.DROPLET.IP.ADDRESS 

Где после «@» надо указать или доменное имя, или IP.

Если вы пропустили создание SSH-ключа, войти можно по паролю, который пришел к вам на почту. Для этого выполните ту же команду:

$ ssh root@YOUR.DROPLET.IP.ADDRESS 

и на вопрос о продолжении соединения напишите «yes». После этого введите пароль.

Если вы увидели приветственный экран, значит все хорошо. Закроем соединение командой exit и перейдем к следующему пункту.

Деплоим приложение

Сервер готов, теперь пришла очередь развернуть тестовое приложение и проверить его работу.

1. Подготавливаем проект

Возьмите простой проект, типа Hello, world, без mongodb и прочего. Проверьте, что в проекте есть самое главное: «package.json», «Procfile» и какой-нибудь «app.js». «Package.json» должен выглядеть примерно так:

< "name": "dokku-demo-application", "version": "1.0.0", "engines": < "node": ">=0.10.*", "npm": ">=1.3" >, "dependencies": < "express": "~3.0" >> 

Содержание файла package.json важно, так как по нему dokku будет устанавливать модули для приложения. А Procfile должен выглядеть так:

web: node server.js

Инициализируем в папке проекта репозиторий (если его не было), добавляем все файлы и коммитим:

$ git init && git add -A && git commit -m "Initial commit" 

Теперь наш проект готов к разворачиванию на сервере.

2. Заливаем и запускаем проект

Деплоить приложение будем с помощью команды git push . И для этого добавим ссылку на удаленный репозиторий нашего дроплета:

$ git remote add dokku dokku@mydomain.com:application_name 

Если у нас было доменное имя для дроплета, то пишем его после «dokku@», иначе — указываем IP. После двоеточия мы указываем имя приложения. Этот индификатор будет использоваться внутри dokku.

Теперь вызываем команду push :

$ git push dokku master 

И начинается загрузка приложения, установка модулей. В конце на экране покажется url, по которому можно запустить проект. Это будет ссылка вида 192.88.67.168:46567 или app1.mydomain.com, в зависимости от настроек dokku.

По идее проект должен быть запущен после этого. Но если нет, то заходим в по ssh в наш дроплет и выполняем две команды

$ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js 

Запускаем в браузере ссылку, полученную ранее, и радуемся!

Проблемы и их устранение

Я сам разбирался с настройкой такого хостинга более суток, и набил несколько шишек. И чтобы вы могли съэкономить свое время, привожу здесь несколько возможных проблем и пути их решения.

1. Мою банковскую карточку не приняли для оплаты

Они такие, да. Даже Visa Classic им не нравится. Оплатите через PayPal, это не трудно.

2. Создал дроплет, но по IP адресу нет страницы настройки dokku
  • указать образ с Dokku
  • нажмите кнопку «Rebuild from Image».
3. Не могу получить доступ к дроплету ни по паролю, ни по SSH
  1. Наверное, вы как-то пропустили шаг настройки dokku, или dokky создался не правильно.
  2. Проверьте, если доступна страница настройки dokku по IP адресу дроплета, то вернитесь к шагу 4 создания VPS.
  3. Если страницы настроек нет, тогда попробуйте сбросить пароль и повторить попытку доступа через терминал. Если даже в этом случае доступ по паролю будет неудачным, тогда переустановите дроплет, как описано в предыдущем пункте.
4. Я не знаю пароля от дроплета

Если у вас нет пароля, зайдите на страницу управления дроплетом, вкладка «Access» и сделайте reset пароля. Тогда на почту придет новый пароль.

5. Проект не запускается по указанной ссылке

Если настройки dokku верны, такая ситуация возможна, если приложение запустилось с ошибкой и было закрыто. Зайтиде по ssh в дроплет и проверьте логи:

$ dokku logs

Возможно, ошибка будет понятна. Или же вы забыли запустить ваш проект после push’а:

$ cd /home/dokku/YOUR-APP-NAME $ dokku run YOUR-APP-NAME node app.js 
6. Я пропустил создание SSH, и теперь хочу сделать авторизацию по SSH-ключу

Я пытался создать новый дроплет без указания ssh-ключа на странице создания дроплета, но на странице настроек dokku все равно просят ввести паблик-ключ. После этого я принял некоторые действия, но все равно зайти по ssh-ключу у меня не вышло, только пароль. Так что я не знаю, как лучше действовать в данной ситуации. Возможно, ошибка происходила при команде копирования ssh ключа в дроплет. Гуглите. В крайнем случае создайте новый дроплет с самого начала, по уму, как в этом руководстве. Пример поиска.

7. Как добавить доменное имя к уже существующему дроплету

Это делается совсем не трудно, всего в несколько шагов. В настройках DNS вашего доменного имени указать настройки:

apps.mydomain.com. IN A [Droplet IP address]
*.apps.mydomain.com. IN A [Droplet IP address]

В дроплете зайти в папку dokku и открыть для редактирования HOSTNAME:

$ cd /home/dokku/ $ vim HOSTNAME 

Нажать клавишу «i» и записать в файле «HOSTNAME» доменное имя вместо IP адреса; затем нажать Esc , кнопки :wq и Enter . Ура! Мы только что успешно использовали легендарный Vim!
Чтобы проекты запускались на поддоменах, нужно создать файл VHOST :

$ touch VHOST 

И записать в файле доменное имя таким же способом, как это было в предыдущем пункте. В противном случае проекты будут доступны через порт. Теперь надо перезалить проект, а перед этим удалить его из dokku:

$ dokku delete app_name 

Удалить в репозитории предыдущий remote с IP-адресом в названии:

$ git remote remove dokku 

И добавить новый remote под старым именем:

$ git remote add dokku dokku@apps.mydomain.com:app_name 

Настраиваем SSH-ключ на новый хостинг, дописывая в ~/.ssh/config новые строчки:

Host YOUR.DROPLET.IP.ADDRESS IdentityFile ~/.ssh/id_rsa_digitalocean_dropletname

Смело пушаем проект:

$ git push dokku master 

Теперь проекты будут доступны на поддоменах.

Всем спасибо за внимание, хороших выходных!

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

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