Установка и реализация простого маршрутизатора Express-Node на Linux

Установка и реализация простого маршрутизатора Express-Node на LinuxАННОТАЦИЯ: В статье рассмотрена установка и реализация простого маршрутизатора Express-Node на Linux при создании HTML сайтов в стиле full-Stack разработки (разработка полного цикла), включающей HTML, CSS, JavaScript, вывод изображений, парсинг Json, серверную логику маршрутизации, интеграцию с MySQL. Реализация концепций как фронтенда, так и бэкенда обеспечивается с помощью диспетчера пакетов Npm.

Предложен вариант администрирования сайта на Node.js с помощью CMS на PHP и подключение пакета Forever, который автоматически перезапустит приложение без помощи SSH консоли в случае какого-нибудь сбоя. Начальная статья представлена на странице
простой маршрутизатор Express/Node.js.

По большому счёту, загрузка компонент Node/Express/NPM, создание соответствующих директорий и загрузка нужных файлов выполняется аналогично командам в консоли cmd.exe под Windows. Важным отличием является задание номера порта со значением более 10000. Это условие пререгатива хостинг-провайдера, в дата-центре которого будет размещаться сайт nodejs.ваш-сайт.ru c корневой директорией nodejs. В эту директорию и будет распакован дистрибутив после выполнения следующих действий:

1) Загрузка с сайта Node.js из раздела Linux Binaries (x64) бинарной версии дистрибутива https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz.
2) Затем осуществляется подключение к серверу по SSH и скачивание дистрибутива по команде wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz в корневую папку сайта nodejs. Распаковка выполняется по команде tar xf node-v10.15.1-linux-x64.tar.xz.

Для консольного доступа для управления Unix/Linux веб-сервером можно воспользоваться любой безопасной оболочкой SSH (secure shell — безопасная оболочка), например популярным приложением под Windows - Putty. После успешной аутентификации необходимо выполнить переход в требуемую директорию с помощью shell команды cd. Перед запуском сервера не лишнее проверить реакцию на команду версия: ./node -v. После этого запускаем сервер - ./node server.js. Пример выполнения команд из ssh консоли под Linux и запуск сервера в среде Node-Express, будет выглядеть как-то так:

команды ssh консоли под Linux старт сервера node-express

Сервер Node-Express запущен успешно и можно посмотреть сайт в сети ИНтернет:

Вид индексной страницы  сайта в Интернет при размещении сайта в среде Node

На картинке показан вид в Интернет индексной страницы простого HTML-сайта при размещении сайта в среде Node. Адрес сайта nodejs.smirnov.spb.su содержит искомое значение порта - 30001. В настоящей реализации Node-приложения подключены пакеты Forever и MySQL. В тарифных планах большенства хостинг-провайдеров порты с номерами до 10000 недоступны, за ИСКЛЮЧЕНИЕМ общепринятых для внешних запросов к серверу - 21, 22, 80 и 443. Ограничения на порты с номерами свыше 10000 отсутствуют. При этом физический диапазон портов ограничен значением 65536.

Отметим, содержимое индексной страницы на Javascript включает HTML-кнопку для перехода на страницу Администрирования, реализованную на PHP. И хотя эта страница чисто иллюстративная, однако показывает возможность интеграции скриптов Node и PHP.

Страница Администрирования Express-Node

Страница Администрирования Express-Node реализована на PHP и может быть выполнена в виде CMS для обычного сайта, например, как CMS для фрейворка Yii2.

ЛИТЕРАТУРА:
[1] Руководство для начинающих в Node.js - https://proglib.io/p/beginners-guide-to-node-js/
[2] Что такое Node JS. Начало работы. - https://metanit.com/web/nodejs/1.1.php
[3] Express-Node web-application Framework - http://expressjs.com/  
[4] Node.js Documentation - https://nodejs.org/api/fs.html
[5] Маршрутизация в Express - https://expressjs.com/ru/guide/routing.html
[6] Что такое Node.js и где он пригодится - https://netology.ru/blog/node