Развёртывание приложения на Node.js

Node или Node.js — серверная реализация языка программирования JavaScript, основанная на движке V8. 

Поддержка Node.js стала доступна вместе с Node.js-селектором на всех тарифных планах на новых серверах (пожалуйста, о наличии python-селектора на вашем сервере уточняйте у специалистов технической поддержки). 

Рассмотрим развёртывание приложения на Node.js, использующего веб-фреймворк Express.js и БД MySQL (при помощи модуля mysql). 

1. В панели управления хостингом (cPanel) выбираем в разделе "Программное обеспечение" пункт "Настройка Node.js приложений": 

image2.png
2. В появившемся окне нажимаем на кнопку “Создать приложение”: 

image8.png
3. Выбираем требуемую версию Node.js, режим работы приложения (development или production), указываем корневой каталог приложения (будет создан в корне вашего аккаунта), URL приложения (адрес, на котором будет запущено приложение), а также файл запуска приложения. После нажимаем на кнопку “Создать”: 

image6.png
Попадаем в окно редактирования настроек приложения, к нему вернёмся позже.

4. В указанный при создании приложения каталог любым удобным способом размещаем файлы приложения. Учитывайте, что содержимое каталога, которое было сгенерировано панелью, нельзя удалять, оно нужно для корректной работы и связки с cPanel. 

5. Если ваше приложение использует базу данных MySQL, то создаём её в cPanel в пункте "Мастер баз данных MySQL" раздела "Базы данных": 

image4.png
Имя базы данных, пользователя, и пароль указываем в коде вашего приложения. В качестве сервера БД указываем localhost.

6. Переходим обратно на страницу редактирования Node.js приложения (если закрыли её после пункта 3, то можно нажать на соответствующий значок справа от приложения в списке): 

image7.png
7. Устанавливаем модули, требуемые для запуска приложения, указанные в файле package.json в директории с проектом (тут же при необходимости можем и отредактировать этот файл), нажатием на кнопку “Установить NPM пакеты”: 

image5.png
Если при установке вы получаете ошибку о нехватке ОЗУ (в связи с превышение лимита ресурсов вашего тарифного плана), то установку можно выполнить по SSH командой следующего вида:
cloudlinux-selector install-modules --json --interpreter nodejs --user имя_вашего_системного_пользователя --app-root /полный/путь/к/приложению

8. Если вам требуется выполнить какие-либо дополнительные команды в консоли, требующие интерпретатор node, то после подключения по SSH сначала следует ввести команду для входа в виртуальное окружение, указанную в верхней части страницы настроек приложения. После всех действий перезапускаем приложение: 

image3.png
9. Ваше приложение доступно по адресу, который вы указали при его создании: 

image1.png
Итоговая структура директории проекта, используемого в этом примере: 

.
├── index.js
├── node_modules -> /home/yourdoma/nodevenv/test_app/12/lib/node_modules
├── package.json
├── public
│   ├── favicon.ico
│   └── images
│       └── hosterlogo.png
├── tmp
│   └── restart.txt
└── views
    └── index.pug

Код проекта доступен в архиве.