Настроить виртуальный сервер ноде js что это
Перейти к содержимому

Настроить виртуальный сервер ноде js что это

  • автор:

Создание простого веб-сервера с помощью Node.js и Express

Node.js с Express — это популярный дуэт, используемый многими приложениями во всем мире. Данный урок познакомит вас с функциональностью этих инструментов на примере сборки простого веб-сервера.

Создаваемый сервер будет обслуживать HTML-страницу, доступную другим людям. К концу статьи вы усвоите базовые знания о:

  • Node.js;
  • Express;
  • npm;
  • создании маршрутов Express;
  • обслуживании HTML;
  • настройке статических ресурсов Express.

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

Создание и инициализация проекта

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

После создания проекта нужно его инициализировать:

Эта команда создает файл package.json и инициализирует его с предустановленными значениями. Если вы захотите сами заполнить его поля, удалите флаг -y и следуйте инструкциям.

Добавление Express

После инициализации проекта Node.js мы переходим к следующему шагу — добавлению Express. Установка пакетов в Node.js выполняется командой npm install packageName .

Для добавления последней стабильной версии Express выполните:

После установки Express файл package.json будет выглядеть так:

Express перечислен среди dependencies , значит, он установился успешно. Переходим к третьему шагу — созданию сервера.

Создание сервера Express

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

Теперь откройте этот файл и пропишите в нем:

Что эти строки делают?

  1. Первая импортирует Express в проект, чтобы его можно было использовать. При каждом добавлении в проект пакета необходимо импортировать его туда, где он будет использоваться.
  2. Вторая строка вызывает функцию express , которая создает новое приложение, после чего присваивает результат константе app .

Создание маршрутов и прослушивание порта

Говоря простым языком, маршрут представляет конечную точку, к которой могут обращаться пользователи. Он ассоциируется с HTTP-глаголом (например, GET, POST и пр.) и получает путь URL. Кроме того, он получает функцию, которая вызывается при обращении к этой конечной точке.

Пропишите в файле следующий код:

Разберем его согласно приведенной ранее структуре:

  • Он связан с HTTP-глаголом — в данном случае GET.
  • Он получает URL — здесь это домашняя страница ( / ).
  • Он получает функцию, которая будет вызываться при обращении к конечной точке.

Следовательно, когда пользователь выполняет запрос GET к домашней странице, т.е. localhost:3333 , вызывается стрелочная функция и отображается фраза “Hello WWW!”

Последним шагом подготовки сервера к работе будет настройка слушателя. Понадобится указать для приложения конкретный порт. Напишите нижеприведенный код в конец JS-файла.

Чтобы иметь возможность запускать сервер, вам нужно будет вызывать метод listen . При этом вы также можете изменить номер порта (3333) на любой другой.

Доступ к приложению в браузере

Для запуска приложения выполните в терминале node index.js . Имейте в виду, что index.js — это произвольное имя, которое я выбрал для данного урока, так что можете назвать его app.js или как-угодно иначе.

Теперь, когда сервер запущен, можно обратиться к нему в браузере. Перейдите по адресу http://localhost:3333/ , перед вами должно отобразиться следующее сообщение:

Вы отлично справились с настройкой веб-сервера Node.js + Express. В следующем разделе мы настроим статическое содержимое, а именно JavaScript, CSS, HTML, изображения и т.д.

Статические файлы

Наше приложение пока что выглядит не очень. Почему бы не добавить ему структуру и стилизацию? Но куда все это нужно добавлять?

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

Импорт модуля path

Первым делом нужно импортировать в приложение модуль path . Устанавливать ничего не нужно, потому что path предустановлен в Node изначально.

Пропишите в начале файла эту строку:

Зачем вообще этот модуль? Он позволяет генерировать абсолютные пути, которые необходимы для передачи статических файлов. Добавьте следующую строку в приложение перед определением маршрутов:

path.join получает два аргумента:

  • Текущую рабочую директорию (cwd).
  • Вторую директорию, которую нужно объединить с cwd.

В качестве упражнения попробуйте вывести в консоль path.join(__dirname, 'public') и посмотрите, что получится.

На данный момент сервер должен выглядеть так:

Создание каталога public и добавление ресурсов

Создайте каталог и перейдите в него с помощью следующих команд:

Теперь создадим пустые файлы, куда затем добавим HTML, CSS и JavaScript. Выполните в терминале следующие команды:

Свой 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-ключ:

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

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

Теперь зайдем в админку в 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 в дроплет и проверьте логи:

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

6. Я пропустил создание SSH, и теперь хочу сделать авторизацию по SSH-ключу

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

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

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

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

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

Как установить Node.js и NGINX на Debian

Описание установки node.js и веб-сервера NGINX на виртуальный сервер с операционной системой Debian.
В Serverspace вы можете создать сервер с уже установленным приложением Nginx.

Что такое Node.js и NGINX?

Node.js — это платформа JavaScript, которая может обслуживать динамический и адаптивный контент. JavaScript обычно является встроенным языком браузера, таким как HTML или CSS. А Node.js является серверной платформой JavaScript, сравнимой с PHP. Node.js часто работает с другими популярными серверными приложениями, такими как NGINX или Apache. В этом руководстве будет рассмотрена настройка NGINX для обработки внешних запросов, а Node.js — для обработки внутренних запросов.

Первоначальные требования

Многие из команд в этом руководстве требуют привилегий суперпользователя. Если при использовании команды sudo появляется ошибка bash: sudo: command not found, вам необходимо активировать режим суперпользователя, установить команду sudo и добавить своего пользователя в группу sudo:

su —
apt-get install sudo -y
usermod -aG sudo yourusername

Обновите локальные репозитории и пакеты:

sudo apt-get update && sudo apt-get upgrade

Установка и настройка NGINX

Установите NGINX, а также модуль screen, который будет использоваться позже:

apt-get install nginx screen

service nginx start

С помощью команды cd перейдите в следующий каталог:

Создайте новый файл, заменив example.com вашим доменным именем или IP-адресом:

Вставьте следующие строки в созданный файл, заменив example.com вашим доменным именем или IP-адресом:

#Names a server and declares the listening port
server <
listen 80;
server_name example.com www.example.com;

#Configures the publicly served root directory
#Configures the index file to be served
root /var/www/example.com;
index index.html index.htm;

#These lines create a bypass for certain pathnames
#www.example.com/test.js is now routed to port 3000
#instead of port 80
location /test.js <
proxy_pass http://example.com:3000;
proxy_set_header Host $host;
>
>

Сохраните изменения и перейдите в каталог:
cd /etc/nginx/sites-enabled/

Создайте символьную ссылку на созданный файл:
ln -s /etc/nginx/sites-available/example.com

Удалите символьную ссылку по умолчанию:
rm default

Перезапустите NGINX, чтобы применить новую конфигурацию:
service nginx reload

Создание каталогов и HTML-файлов

Создайте следующую иерархию каталогов, заменив example.com:
mkdir -p /var/www/example.com

Перейдите в созданный каталог:
cd /var/www/example.com

Создайте индексный файл:
touch index.html

Вставьте следующие строки:
<!DOCTYPE html>
<html>
<body>

<center>
<p>
<b>
If you have not finished the guide, the button below will not work.
</b>
</p>
</center>

<center>
<p>
The button links to test.js. The test.js request is passed through NGINX and then handled by the Node.js server.
</p>
</center>

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

На этом этапе NGINX прослушивает порт 80 и обслуживает контент. Он также настроен на передачу запросов приложения /test.js на порт 3000.

Установите Node Version Manager:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Закройте и снова откройте свой терминал.

Установите Node.js с помощью следующей команды:
nvm install 0.10

Создайте следующий файл:
touch /var/www/example.com/server.js

Вставьте в него следующее содержимое:
//nodejs.org/api for API docs
//Node.js web server
var http = require(«http»), //Import Node.js modules
url = require(«url»),
path = require(«path»),
fs = require(«fs»);

http.createServer(function(request, response) < //Create server
var name = url.parse(request.url).pathname; //Parse URL
var filename = path.join(process.cwd(), name); //Create filename
fs.readFile(filename, «binary», function(err, file) < //Read file
if(err) < //Tracking Errors
response.writeHead(500, <"Content-Type": "text/plain">);
response.write(err + «n»);
response.end();
return;
>
response.writeHead(200); //Header request response
response.write(file, «binary»); //Sends body response
response.end(); //Signals to server that
>); //header and body sent
>).listen(3000); //Listening port
console.log(«Server is listening on port 3000.») //Terminal output

Запустите новую сессию screen:
screen

Далее нажмите Enter и запустите сервер Node.js:
node server.js

Нажмите комбинацию клавиш Ctrl+A, затем D.

Создание тестового приложения

Создайте файл с тестовыми данными:
touch /var/www/example.com/test.js

И вставьте в него следующие данные:
<!DOCTYPE html>
<html>
<body>

<center>
<p>
The below button is technically dynamic. You are now using Javascript on both the client-side and the server-side.
</p>
</center>
<br>

<center>
<button type=»button»
onclick=»document.getElementById(‘sample’).innerHTML = Date()»>
Display the date and time.
</button>
<p ></p>
</center>

Откройте порт 80 для подключения по http:
iptables -A INPUT -p tcp —dport 80 -j ACCEPT

Перейдите в браузере по вашему домену или ip-адресу. Отобразится следующая страница. Нажмите кнопку Go to the test.js:

Go to the test.js

Если все настроено корректно, с помощью кнопки Display the date and time на новой странице можно вывести текущее время и дату:

Установка Node.js на VPS-сервер

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

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

Что такое Node.js?

Node.js — это кроссплатформенная среда выполнения JavaScript, управляемая событиями. Он построен на движке JavaScript V8 Chrome наряду с другими средами разработки, такими как MongoDB, Express.js и AngularJS. Node.js позволяет использовать JavaScript для создания веб-серверов, сетевых инструментов и модулей, отвечающих за ряд основных функций.

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

Хотя вы можете запускать свои приложения NodeJS без него, эксперты рекомендуют установить npm — официальный менеджер пакетов Node.js. Он состоит из клиента и онлайн-базы данных (реестра npm), содержащей более 1 миллиона бесплатных и платных пакетов. Благодаря npm разработчики со всего мира могут использовать огромный пул готовых ресурсов, которые помогают им ускорить процесс разработки.

Установка Node.js на VPS-сервер

Почему Node.js?

Node.js дает множество преимуществ. Во-первых, это уже молниеносная среда написания сценариев, и, поскольку она построена на движке Google, ее производительность, вероятно, со временем улучшится. Реестр npm также расширяется, поэтому разработчикам, вероятно, будет еще легче найти то, что они ищут в будущем.

Однако скорость — далеко не единственное, чем славится Node.js. Прочтите об этом в Интернете, и вы увидите, что большинство людей много говорят об его асинхронной, управляемой событиями архитектуре.

Давайте посмотрим на это поближе и посмотрим, какую выгоду могут извлечь разработчики.

Чтобы понять, как это работает, нам нужно сравнить его с одной из альтернатив. PHP используется почти на 80% веб-сайтов в мире, поэтому мы будем использовать его в качестве примера. Если приложению PHP предлагается открыть файл, оно не будет обрабатывать другие запросы, прежде чем откроет указанный файл. Все последующие запросы зависят от выполнения первого.

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

В свете всего этого неудивительно, что такие технологические гиганты, как IBM, LinkedIn, Netflix и PayPal, использовали Node.js при разработке некоторых своих продуктов.

Установка Node.js на VPS-сервер

Для чего используется Node.js?

Node.js существует с 2009 года, что не так давно по сравнению с другими веб-технологиями. Тем не менее, он уже зарекомендовал себя как надежная среда разработки с десятками применений в различных сферах.

Вот где он наиболее ярко проявляется:

Чат-приложения

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

Браузерные игры

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

Потоковые приложения

И снова асинхронный ввод-вывод в Node.js позволяет потоковым сервисам предоставлять высококачественное видео в реальном времени сотням тысяч пользователей одновременно.

Бэкэнд-инструменты

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

Системные требования Node.js

Легкий дизайн Node.js — одна из вещей, которые сделали его таким популярным среди разработчиков. Вы должны помнить, что вам понадобится достаточно мощное оборудование, если вы хотите использовать Node.js в Windows. Однако, когда дело доходит до Linux, использование ресурсов настолько низкое, что вы можете запускать стандартные приложения Node.js даже на Raspberry Pi.

Существуют версии Linux для ARM и 64-битных архитектур, а в Windows он работает как на 32-, так и на 64-битных машинах. Серверы macOS нуждаются в 64-битных чипах для запуска Node.js, а также есть официальный образ для контейнеров Docker.

В общем, Node.js может работать на большинстве современных установок.

Установка Node.js на VPS-сервер

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

Поскольку он доступен во многих различных операционных системах и установках, не существует универсального учебника, который бы показал вам точные шаги по установке Node.js. Большинство VPS-серверов веб-хостинга работают на Linux, поэтому мы сосредоточимся на нем. Однако даже при этом процесс установки варьируется от дистрибутива к дистрибутиву. Вот два наиболее распространенных сценария.

Установка Node.js и npm из официального репозитория Ubuntu

Node.js достаточно популярен, чтобы попасть в официальные репозитории программного обеспечения одного из самых популярных в мире дистрибутивов Linux — Ubuntu. Если ваш VPS использует Ubuntu, установка Node.js включает несколько простых шагов. Давайте посмотрим на них.

1. Обновите свой VPS

Перед установкой Node.js рекомендуется обновить индекс пакетов для вашего виртуального сервера Ubuntu. Вы можете сделать это с помощью следующей команды:

sudo apt-get update

2. Установите Node.js.

Поскольку Node.js является частью официального репозитория Ubuntu, вы можете установить его с помощью одной команды:

sudo apt-get install nodejs

ПРИМЕЧАНИЕ. Если вы воспользуетесь этим подходом, Ubuntu установит последний доступный пакет из репозитория. Этот метод установки не подходит, если вам нужна конкретная версия Node.js.

3. Установите npm

И снова вы можете установить последнюю версию npm с помощью одной команды:

sudo apt-get install npm

4. Убедитесь, что установка прошла успешно.

Самый простой способ убедиться, что установка прошла успешно — спросить Ubuntu, какие версии Node.js и npm вы используете в настоящее время.

Для Node.js команда:

а для npm вам нужно ввести:

Установка Node.js на VPS-сервер

Установка Node.js вручную

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

1. Скачайте и распакуйте архив Node.js.

Сначала вам нужно убедиться, что вы находитесь в своем домашнем каталоге. Команда идти прямо там:

Затем вы можете использовать следующую команду для загрузки архива Node.js:

ПРИМЕЧАНИЕ. С помощью этой команды вы загрузите версию 14.18.1 ( последняя на момент написания ). Если вы хотите загрузить другую версию Node.js, вам необходимо соответствующим образом изменить URL-адрес.

2. Распаковать архив

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

tar xvf node-v14.18.1-linux-x64.tar.xz

Файлы будут извлечены в новый каталог с именем node-v14.18.1-linux-x64.

3. Переименуйте каталог Node.js, чтобы облегчить себе жизнь.

Хотя это и не обязательно, этот шаг упростит процесс установки. Что мы сделаем, так это переименуем папку с извлеченными файлами из node-v14.18.1-linux-x64 во что-то менее громоздкое, например, node Вот команда:

mv узел-v14.18.1-linux-x64 узел

4. Установите двоичные файлы Node.js и npm.

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

/ bin
cp node / bin / node

bin
ln -s ../node/lib/node_modules/npm/bin/npm-cli.js npm

5. Убедитесь, что установка прошла успешно.

Еще раз, вы можете спросить Linux, какие версии Node.js и npm установлены на сервере, чтобы убедиться, что все в порядке. Команды следующие:

В нашем случае ответы должны быть v14.18.1 и 6.14.15 соответственно.

Установка Node.js на VPS-сервер

Запуск приложений Node.js

Установив на свой сервер Node.js и npm, вы, вероятно, задаетесь вопросом, как запустить с ними приложение. Как вы собираетесь это делать, зависит от самого приложения.

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

Если вам нужно запустить готовое к работе приложение с допустимым файлом package.json, вы можете использовать диспетчер пакетов npm. Команда такая:

nohup npm start –производство и

Использование узла

Если в вашем приложении нет файла package.json, вам нужно использовать сам Node.js. Вы можете сделать это с помощью следующей команды.

nohup node [название вашего приложения] .js &

Обратите внимание: если вы решите запустить приложение, не имеющее включенного файла package.json, вы не сможете управлять им с помощью npm.

Как остановить приложение

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

Установка Node.js на VPS-сервер

Подключите свой веб-сервер к работающему приложению Node.js

Из — за различные комбинации технологий а VPS может обрабатывать, есть много способов подключения вашего сайта в приложение Node.js. Поскольку Apache — один из наиболее распространенных веб-серверов, мы будем использовать его в качестве демонстрационной платформы.

Мы хотим использовать файл .htaccess для установления соединения между веб-сайтом и приложением Node.js.

Файл .htaccess находится в корневой папке документа ( home / [ваше имя пользователя] / public_html / ). Если на вашем сервере установлена ​​панель управления веб-хостингом, вы можете получить к ней доступ через встроенный файловый менеджер. В противном случае вы можете получить доступ к серверу через SSH и открыть его в текстовом редакторе.

Вот что вам нужно добавить в ваш файл .htaccess:

DirectoryIndex отключен
RewriteEngine On
RewriteRule ^ $ http://127.0.0.1:XXX/ [P, L] RewriteCond% ! -F
RewriteRule ^ (. *) $ Http://127.0.0.1:XXX/$1 [P, L]

Замените «XXX» номером порта вашего приложения Node.js. После этого не забудьте сохранить изменения в файле .htaccess перед выходом из редактора.

Развертывание приложения Node.js с помощью SPanel

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

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

Node.js устанавливается и настраивается на всех серверах SPanel, а внутри нашей проприетарной платформы управления вы найдете простой в использовании инструмент, который поможет вам запускать приложения в несколько кликов. Вот все шаги:

1. Загрузите приложение в любую папку по вашему выбору.

Вы можете использовать свой любимый FTP-клиент или диспетчер файлов SPanel для загрузки приложения Node.js с локального компьютера на виртуальный сервер.

2. Разверните приложение с помощью диспетчера NodeJS в SPanel.

Диспетчер NodeJS от SPanel доступен в пользовательском интерфейсе.

Установка Node.js на VPS-сервер

Кнопка « Развернуть новое приложение» открывает всплывающее окно, позволяющее быстро запустить приложение. Все, что вам нужно сделать, это указать URL-адрес приложения, порт, который оно будет прослушивать, и путь к самому приложению.

Установка Node.js на VPS-сервер

ПРИМЕЧАНИЕ. Для приложений Node.js вы можете использовать только порты от 3000 до 3500.

Щелкните Развернуть, чтобы завершить процесс.

3. Управляйте своими приложениями на Node.js.

Диспетчер NodeJS от SPanel отображает список всех развернутых на данный момент приложений Node.js. Выпадающие меню « Действия» позволяют вам по очереди останавливать, перезапускать и отменять развертывание.

Заключение

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

С правильными командами у них не должно возникнуть проблем с установкой и использованием Node.js на самоуправляемом виртуальном сервере. Однако даже самые большие мастера командной строки оценят удобство запуска приложений из удобного графического пользовательского интерфейса, такого как NodeJS Manager от SPanel.

Часто задаваемые вопросы

Должен ли я платить за использование Node.js?

Node.js имеет открытый исходный код и бесплатен для использования. При этом, если вы разрабатываете свой проект Node.js в проприетарной интегрированной среде разработки (IDE), вероятно, будет взиматься плата, поскольку это коммерческий продукт.

Что такое НПМ?

NPM — это сокращение от Node Package Manager. Он служит репозиторием для пакетов JavaScript, которые разработчики включают в свои проекты. Это также дает веб-разработчикам возможность управлять определенной версией каждого пакета.

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

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