През инструмента „Setup Node.js App“ в cPanel се създава специална среда в хостинг акаунта, в която може да се разполагат и работят Node.js приложения.
За да инсталирате и използвате Express (Express.js) или друго Node.js приложение в хостинг акаунта, първо е нужно да създадете виртуална среда за него през cPanel » Setup Node.js App.
Създаване на нова среда за Node.js приложения
За да създадете нова среда за Node.js приложение, изберете Create Application.
1) Node.js version
Изберете версията на Node.js, която желаете да използвате за приложението.
2) Application mode
Можете да изберете режим на приложението – Development или Production.
Изборът тук ще зададе променливата за средата NODE_ENV с избраната стойност. Променливите на средата може да се променят и след когато средата вече е създадена.
3) Application root
Изберете директория, в която желаете да разположите Node.js приложението.
При създаване на средата автоматично се създават две директории:
• /home/goodexmp/nodeapps – Това е директорията, в която се разполагат Node.js проектите и приложенията.
В директорията ще се разположи скелет на първоначален проект, който може да се използва за разработка на ново приложение. Автоматично е създадена страница „It works“ (файлът е app.js), която може да се замени с вече разработено приложение.
Първоначално съдържание на директорията за приложенията.
goodexmp – заменете с името на cpanel потребителя; nodeapps – директорията на създадената среда;
• /home/goodexmp/nodevenv/nodeapps – В тази директория се съдържат всички системни компоненти за виртуалната среда – инсталирани npm модули, изпълнимите файлове на избраната версия Node.js и други.
Съдържание на директорията за виртуалната среда.
При създаване на средата автоматично се активира и използва модул virtualenv. Създава се директория с името на проекта например /home/goodexmp/nodevenv/nodeapps.
goodexmp – заменете с името на cpanel потребителя; nodeapps – директорията на създадената среда;
4) Application URL
Това е уеб адресът за достъп до приложението в уеб. Изберете домейн/поддомейн от падащото меню.
При създаване на средата автоматично се създава файл .htaccess, в който са поставени хендлъри за стартиране на приложението.
• /home/goodexmp/e.goodexample.eu/.htaccess
Съдържание в директорията на домейна.
В директорията на избрания домейн/поддомейн (в случая поддомейн с основна директория /home/goodexmp/e.goodexample.eu) автоматично се създава файл .htaccess. В него са поставени нужните правила и директиви, с които е указана директорията на приложението (/home/goodexmp/nodeapps):
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN
PassengerAppRoot „/home/goodexmp/nodeapps“
PassengerBaseURI „/“
PassengerNodejs „/home/goodexmp/nodevenv/nodeapps/10/bin/node“
PassengerAppType node
PassengerStartupFile app.js
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END
goodexmp – заменете с името на cpanel потребителя; nodeapps – директорията на създадената среда;
5) Application startup file
Тук се посочва стартовия файл на приложението. В случай че оставите полето празно, по подразбиране ще се зададе файл apps.js.
6) Environment variables
В случай че приложението или допълнително инсталираните nmp модули имат нужда от определени променливи на средата, от тук можете да ги зададете.
7) Завършете с бутон Create и изчакайте докато средата се създаде.
При успешно създаване на средата ще получите съобщение: Application created.
8) Запишете командата от поле „Enter to the virtual environment“.
Тази команда ще ви е необходима за влизане и работа във виртуалната среда, през SSH достъп до хостинг акаунта.
source /home/goodexmp/nodevenv/nodeapps/10/bin/activate
goodexmp – заменете с името на cpanel потребителя; nodeapps – директорията на създадената среда;
9) Заредете домейна в браузъра.
За да проверите дали средата е създадена и работи, достъпете домейна в уеб браузър. Трябва да видите съобщението:
It Works
Node.js
След потвърждението за работеща среда, можете да инсталирате в нея Express.js.
Настройки на средата
След като средата е създадена, през Setup Node.js App » Web Applications в cPanel можете да променяте настройките й.
Stop App: Спиране на приложението.
Restart: След като извършите промяна по кода на приложението, за да видите резултатите при зареждане в браузъра, може да е нужно да рестартирате процеса на приложението (средата). Рестарт можете да извършите и през конзолата, чрез специалния файл restart.txt:
touch /home/goodexmp/nodeapps/tmp/restart.txt
goodexmp – заменете с името на cpanel потребителя; nodeapps – директорията на създадената среда;
Destroy: Премахване на виртуалната среда.
Detected configuration files
Run NPM Install
Когато в директорията на проекта има разположен package.json файл, от тук можете да извършите инсталацията на зависимостите, посочени в този файл.
NPM пакети можете да инсталирате и през конзолата при SSH достъп.
След успешно създаване на приложение, бутона Run NPM Install не е активен, докато в директорията на приложението няма създаден package.json файл.
package.json файлът съдържа информация за приложението – име, версия, описание, автор и уебсайт, на който е достъпно приложението, зависимости и други.
В зависимостите са описани всички необходими допълнителни пакети, които е необходимо да са инсталирани, за да може да работи съответното приложение.
След като в директорията на проекта разположите package.json файл, бутонът Run NPM Install и две допълнителни опции ще се активират.
Run JS script
Някои приложения, освен възможност за инсталиране на NPM пакети, може да използват скриптове, които трябва да се стартират Command Line като daemon. При Unix базираните системи daemon, на български „демон„, е програма която работи във фонов режим и изпълнява определени служебни функции. От тук може да се изпълни JS скрипт. В случай че приложението има подобни скриптове, препоръчително е да ги стартирате през конзолата. Ако стартирате скрипт (който се изпълнява като daemon), няма да можете да го спрете от тук (графичната среда в cPanel » Setup Node.js App)
След натискане на бутона Run JS script ще се отвори прозорец, съдържащ имената на налични скриптове и може да се избере кой да се изпълни.
Edit
От тук можете директно да редактирате съдържанието на засечените конфигурационни файлове (package.json).