Инсталирање Ноде.јс
Подешавање директоријума апликација
Инсталирање Хапи.јс
Постављање нашег узорка апликације
Инсталирајте Нгинк
Конфигуришите Нгинк
Инсталирајте ПМ2
Покрећемо нашу апликацију са ПМ2
Закључак
Хапи.јс је богат, робустан и моћан Ноде.јс оквир дизајниран за прављење веб апликација у екосистему Ноде.јс. Његов једноставан дизајн олакшава почетак. Хапи користи многе од најновијих ЈаваСцрипт ЕС6 функција у својој сржи, као што су ЕС6 обећања. За оне од вас који су раније користили Екпресс, Хапи вам омогућава да испробате нешто ново и искусите све најновије ЈаваСцрипт функције.
У овом туторијалу, наш циљ ће бити да поставимо основну Хапи.јс веб страницу, која се хостује са нашег Вултр ВПС-а, на Убунту 16.04 ЛТС. За оне који имају домен за своју веб локацију, користићемо обрнути прокси да повежемо наш домен са нашом веб локацијом. Коначно, научићемо како да њиме управљамо са менаџером процеса. Сада када смо то склонили са пута, хајде да почнемо.
Инсталирање Ноде.јс
Мораћемо да инсталирамо Ноде.јс. Да бисте то урадили на Убунту 16.04 ЛТС, пратите ова упутства.
Додавање спремишта
Мораћемо да додамо НодеСоурце АПТ спремиште, које садржи најновије ЛТС издање Ноде.јс.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Ми преузимамо скрипту коју ћемо користити да додамо спремиште на нашу листу извора, као и да инсталирамо Ноде.јс из НодеСоурце спремишта.
Инсталирање алата за изградњу
Поред инсталирања самог Ноде.јс-а, такође ћемо морати да инсталирамо неке неопходне алате за прављење, који ће помоћи у изградњи свих модула које ће нам можда бити потребно да инсталирамо.
sudo apt-get install -y build-essential
Ово једноставно преузима и инсталира алате за прављење из спремишта.
Подешавање директоријума апликација
Добра је пракса да одредимо фасциклу коју ћемо користити за нашу апликацију, а која ће садржати све податке наше апликације, као што су конфигурационе датотеке и скрипте за покретање. Направите фасциклу и дајте јој име како год желите. Зарад овог упутства, претпостављам да сте га назвали site.
mkdir site
Када направите фасциклу, сада можемо да се променимо у њу. Уверите се да сте у директоријуму који сте управо креирали, покрените чаробњак за НПМ пакет.
npm init
Од вас ће се тражити да унесете неколико различитих ствари, као што су назив ваше апликације, почетна датотека, лиценца и тако даље. Већина поља можете оставити подразумеваним, осим очигледнијих поља, као што је назив ваше апликације. На крају ће изгледати овако:
{
"name": "site",
"version": "1.0.0",
"description": "Hapi.js site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "rich",
"license": "MIT"
}
Када будете задовољни резултатом, кликните ENTERда бисте сачували датотеку.
Инсталирање Хапи.јс
Сада када је ваш директоријум успешно направљен, сада можемо да наставимо са инсталацијом Хапи.јс. Као што је раније поменуто, користићемо НПМ да преузмемо Хапи.јс, као и његове зависности, за наш пројекат. У директоријуму пројекта покрените следеће.
npm install hapi.js
Ово преузима Хапи.јс са НПМ-а и инсталира га у директоријум нашег пројекта. У истом трчењу, све зависности на које се Хапи.јс може ослонити се такође преузимају ради наше погодности.
Постављање нашег узорка апликације
Сада је време да подесите нашу основну апликацију Хапи.јс. Ово ће садржати сав наш код за апликацију. Даље на путу, можемо да проширимо наш код апликације и да му додамо још ствари, како нам одговара.
Затим ћемо креирати нашу почетну датотеку. Вратите се на mainодељак ваше package.jsonдатотеке да бисте тачно одредили како да именујете датотеку. Пошто сам користио подразумевану шему именовања, наша датотека ће се звати index.js.
nano index.js
Једном када сте у уређивачу нано текста, креирајте свој основни код апликације, овако.
const Hapi=require('hapi');
const server=Hapi.server({
host:'localhost',
port: 3000
});
server.route({
method:'GET',
path:'/',
handler:((request,h)) => {
return 'Sample Hapi.js Application';
}
});
async function start() {
try {
await server.start();
} catch (err) {
console.log(err);
process.exit(1);
}
console.log(`Our server is running! ${server.info.uri}`);
};
start();
Прво увозимо Хапи модул. Затим иницијализујемо наш конструктор сервера, који садржи хост на коме желимо да покренемо сервер, као и порт који је 3000за овај водич. Затим постављамо основни рутер, који указује да ће сваки пут када неко посети веб локацију бити дочекан једноставном поруком. Као врхунац свега, имамо асинхронску функцију, да покренемо наш сервер, који ће се пријавити на конзолу коју наш сервер ради. Када завршите, сачувајте и затворите датотеку ( CTRL+ X)
Сада када је наш главни фајл постављен, спремни смо да покренемо нашу апликацију.
node index.js
Ако видите „ Our server is running!“ у конзоли, сервер је успешно покренут.
Инсталирајте Нгинк
Пошто је Нгинк доступан у подразумеваним Убунту репозиторијумима, инсталација је једноставна. Једноставно ажурирајте своје листе пакета и инсталирајте их.
sudo apt update
sudo apt install nginx -y
Након освежавања листе пакета, Нгинк и његове зависности ће бити инсталирани.
Да би Нгинк могао да обрне прокси нашу апликацију, мораћемо да креирамо конфигурациону датотеку. Ова конфигурациона датотека ће садржати информације о нашој апликацији, коју ће Нгинк користити за обрнути прокси.
Избришите подразумевану конфигурацију коју је Нгинк креирао, јер ћемо је касније заменити својом.
sudo rm /etc/nginx/sites-enabled/default
Направите нову датотеку у sites-availableфасцикли. Што се тиче именовања, можемо се држати једноставно site, због једноставности.
sudo nano /etc/nginx/sites-available/site
У датотеку налепите следеће и сачувајте.
server {
listen 80;
location / {
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header
X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host
$http_host;
proxy_set_header
X-NginX-Proxy true; proxy_pass
http://127.0.0.1:3000/;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade
$http_upgrade;
proxy_set_header Connection
"upgrade";
proxy_redirect off;
proxy_set_header
X-Forwarded-Proto $scheme;
}
}
У овој датотеци кажемо Нгинк-у да слуша порт 80. Такође постављамо прокси пролаз на localhostадресу и порт 3000, који је исти порт као и наша Хапи апликација.
Сада можете да се вратите до директоријума апликације и покренете сајт. Када се сајт покрене, једноставно идите на http://yourdomain.comили http://yourip, и видећете текст " Hello World".
Инсталирајте ПМ2
ПМ2 се може наћи у НПМ репозиторијуму, и можете га инсталирати глобално да бисте били доступни са било ког места, на пример.
sudo npm install pm2 -g
Ознака -gна крају означава да желимо да инсталирамо модул у директоријум глобалних модула, што ће нам омогућити да га користимо ван нашег директоријума пројекта. Ово се користи да би се наш пројекат понашао као нормална системска апликација.
Покрећемо нашу апликацију са ПМ2
Када инсталирате ПМ2, вратите се до директоријума вашег пројекта. Синтакса за покретање наше апликације сада ће бити мало другачија. Овако ћемо то урадити са ПМ2.
pm2 start index.js --name site
Користимо ПМ2 старт функцију, која у основи креира профил за нашу апликацију, под именом site. Након што покренете ту команду, ваша веб локација ће се покренути, али приметићете да се евиденција неће приказати. То је зато што је начин на који сада гледамо дневнике другачији.
pm2 logs site
Можете чак да одредите колико редова евиденције желите да видите, са --linesаргументом.
Закључак
Успешно сте поставили Хапи.јс веб сервер, обрнули га помоћу Нгинк-а и научили како да боље управљате њиме помоћу ПМ2. Са овим знањем, можете додатно проширити овај водич и направити веома напредну Хапи.јс апликацију. Да бисте сазнали више о могућностима Хапија, посетите њихову званичну документацију . Ако желите да сазнате више о могућностима ПМ2, погледајте њихов водич за брзи почетак .