Виртуална среда за Node.js приложения в cPanel

През инструмента „Setup Node.js App“ в cPanel се създава специална среда в хостинг акаунта, в която може да се разполагат и работят Node.js приложения.

През Setup Node.js App инструмента в cPanel можете да инсталирате различни версии на Node.js. Към момента поддържаните версии на Node.js са 6.17.1, 8.17.0, 9.11.2, 10.24.1, 11.15.0, 12.22.9, 14.21.2, 16.20.2, 18.18.2, 19.9.0, 20.10.0.

Setup Node.js App инструментът в cPanel е включен към хостинг план СуперХостинг и се поддържа на всички Managed VPS сървъри, като е включен към плановете Pro, Mega, Business, Business+ от СуперХостинг.БГ.

Работещо Node.js приложение в хостинг акаунта
Работещо Node.js приложение в хостинг акаунта.

За да инсталирате и използвате Express (Express.js) или друго Node.js приложение в хостинг акаунта, първо е нужно да създадете виртуална среда за него през cPanel » Setup Node.js App.

Създаване на нова среда за Node.js приложения

За да създадете нова среда за Node.js приложение, изберете Create Application.

Създаване на нова среда за Node.js приложения
Създаване на нова среда за Node.js приложения.

1) Node.js version

Изберете версията на Node.js, която желаете да използвате за приложението.

2) Application mode

Можете да изберете режим на приложението – Development или Production.

Изборът тук ще зададе променливата за средата NODE_ENV с избраната стойност. Променливите на средата може да се променят и след когато средата вече е създадена.

3) Application root

Изберете директория, в която желаете да разположите Node.js приложението.

Бележка: За разлика от PHP приложенията, кодът и файловете на Node.js приложенията не е нужно да се поставят в публичната уеб директория в хостинг акаунта (public_html).

При създаване на средата автоматично се създават две директории:

• /home/goodexmp/nodeapps – Това е директорията, в която се разполагат Node.js проектите и приложенията.

В директорията ще се разположи скелет на първоначален проект, който може да се използва за разработка на ново приложение. Автоматично е създадена страница „It works“ (файлът е app.js), която може да се замени с вече разработено приложение.

Първоначално съдържание на директорията за приложенията.

Първоначално съдържание на директорията за приложенията.
Първоначално съдържание на директорията за приложенията.

Важно: В случай че директорията /nodeapps/tmp и файла в нея /nodeapps/tmp/restart.txt са премахнати, при опит за спиране/стартиране/рестартиране/изтриване на приложението през cPanel » Setup Node.js App ще се получи съобщение за грешка. За да възстановите възможността за извършване на тези операции с приложението през cPanel – създайте директорията tmp и поставете в нея празен текстов файл restart.txt.

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“.

командата от поле "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 файл.

package.json файлът съдържа информация за приложението – име, версия, описание, автор и уебсайт, на който е достъпно приложението, зависимости и други.

В зависимостите са описани всички необходими допълнителни пакети, които е необходимо да са инсталирани, за да може да работи съответното приложение.

След като в директорията на проекта разположите package.json файл, бутонът Run NPM Install и две допълнителни опции ще се активират.

Run NPM Install

Run JS script

Някои приложения, освен възможност за инсталиране на NPM пакети, може да използват скриптове, които трябва да се стартират Command Line като daemon. При Unix базираните системи daemon, на български „демон„, е програма която работи във фонов режим и изпълнява определени служебни функции. От тук може да се изпълни JS скрипт. В случай че приложението има подобни скриптове, препоръчително е да ги стартирате през конзолата. Ако стартирате скрипт (който се изпълнява като daemon), няма да можете да го спрете от тук (графичната среда в cPanel » Setup Node.js App)

Run JS script

След натискане на бутона Run JS script ще се отвори прозорец, съдържащ имената на налични скриптове и може да се избере кой да се изпълни.

Edit

От тук можете директно да редактирате съдържанието на засечените конфигурационни файлове (package.json).

Обновена: 31.01.2024

Беше ли Ви полезна тази статия?

Вижте още