База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

ExpressJS

ExpressJS ­— бесплатный фреймворк на Node.JS, упрощающий разработку веб-приложений.

Для запуска серверных JS-приложений, выберите Node.JS 6, 8, 10 или 12 версии в качестве веб-сервера для домена в разделе «Сайты и домены» → «Управление сайтами» Панели управления. Чтобы установить и настроить фреймворк, подключитесь к серверу по SSH.

Для установки модулей используйте пакетный менеджер npm. Каждой версии Node.JS соответствует своя версия npm. По умолчанию используется подходящая для Node.JS 12. Чтобы вызвать другую, добавьте номер версии Node.JS. Например, npm8 для Node.JS 8 или npm10 для Node.JS 10.

Подготовительные действия

Большинство модулей Node.JS могут быть установлены локально в директории определенного сайта, однако некоторые — только глобально.

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

создаем директорию:

 mkdir /home/%login%/.npm-global 

где %login% — логин аккаунта.

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

npm config set prefix '~/.npm-global'

 добавляем инструкции в ~/.profile и ~/.bash_profile: 

export PATH=~/.npm-global/bin:$PATHalias express='node ~/.npm-global/bin/express' 

применяем изменения командой: 

source ~/.profile .

После можно выполнять установку модулей, для которых параметр -g является обязательным. Установка будет производиться в /home/%login%/.npm-global.

Установка ExpressJS

Выполняем установку фреймворка с помощью команд: 

npm install express
npm install express-generator -g
 

Для создания проекта переходим в корневую директорию сайта: 

cd ~/domains/site.ru/public_html 

После чего выполняем команду: 

express --view=pug myapp 

Далее переходим в каталог приложения: 

cd myapp

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

npm install 

Открываем файл app.js и добавляем в его начало строку: 

app.listen(80); 

Далее создаем в корневой папке сайта файл.htaccess и указываем в нем содержимое:

PassengerStartupFile app.js
PassengerResolveSymlinksInDocumentRoot on
Require all granted
PassengerAppType node
PassengerAppRoot /home/login/domains/site.ru/public_html/myapp
Options -MultiViews

В PassengerAppRoot указывается путь к каталогу с приложением.

Была ли эта инструкция полезной?