База знаний

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

Приложения

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

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

При установке модулей используйте npm для Node.JS 6 и npm8 для Node.JS 8.

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

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

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

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

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

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

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

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

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

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

source ~/.profile .

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

После можно выполнять установку модулей, для которых параметр -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 указывается путь к каталогу с приложением.

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