Izveidojiet Hapi.js tīmekļa lietojumprogrammu, izmantojot Node.js Ubuntu 16.04

Hapi.js ir bagātīgs, stabils un jaudīgs Node.js ietvars, kas paredzēts tīmekļa lietojumprogrammu izveidei Node.js ekosistēmā. Tā vienkāršais dizains ļauj viegli sākt darbu. Hapi savā pamatā izmanto daudzas jaunākās JavaScript ES6 funkcijas, piemēram, ES6 solījumus. Tiem no jums, kas iepriekš ir izmantojuši Express, Hapi ļauj izmēģināt kaut ko jaunu un izbaudīt visas jaunākās JavaScript funkcijas.

Šajā apmācībā mūsu mērķis būs Ubuntu 16.04 LTS izveidot pamata Hapi.js tīmekļa lapu, kas tiek mitināta no mūsu Vultr VPS. Tiem, kuru vietnei ir domēns, mēs izmantosim apgriezto starpniekserveri, lai saistītu mūsu domēnu ar mūsu vietni. Visbeidzot, mēs iemācīsimies to pārvaldīt ar procesa vadītāju. Tagad, kad tas ir novērsts, sāksim.

Node.js instalēšana

Mums būs jāinstalē Node.js. Lai to izdarītu Ubuntu 16.04 LTS, izpildiet šos norādījumus.

Repozitorija pievienošana

Mums būs jāpievieno NodeSource APT repozitorijs, kurā ir jaunākais Node.js LTS laidiens.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Mēs lejupielādējam skriptu, ko izmantosim, lai pievienotu repozitoriju mūsu avotu sarakstam, kā arī instalējam Node.js no NodeSource repozitorija.

Veidošanas rīku instalēšana

Papildus pašas Node.js instalēšanai mums būs jāinstalē arī daži nepieciešamie veidošanas rīki, kas palīdzēs izveidot visus moduļus, kas mums varētu būt jāinstalē.

sudo apt-get install -y build-essential

Tas vienkārši lejupielādē un instalē veidošanas rīkus no krātuves.

Lietojumprogrammu direktorija iestatīšana

Laba prakse ir norādīt mapi, ko izmantosim savai lietojumprogrammai un kurā būs visi mūsu lietojumprogrammas dati, piemēram, konfigurācijas faili un startēšanas skripti. Izveidojiet mapi, piešķirot tai vēlamo nosaukumu. Šīs apmācības labad es pieņemu, ka jūs to nosaucāt site.

mkdir site

Kad esat izveidojis mapi, tagad mēs varam to mainīt. Pārliecinoties, ka atrodaties tikko izveidotajā direktorijā, palaidiet NPM pakotnes vedni.

npm init

Tas lūgs ievadīt dažas dažādas lietas, piemēram, lietojumprogrammas nosaukumu, sākuma failu, licenci un tā tālāk. Lielāko daļu lauku varat atstāt noklusētos, izņemot acīmredzamākos laukus, piemēram, lietojumprogrammas nosaukumu. Galu galā tas izskatīsies šādi:

{
  "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"
}

Kad esat apmierināts ar rezultātu, noklikšķiniet, ENTERlai saglabātu failu.

Hapi.js instalēšana

Tagad, kad jūsu direktorijs ir veiksmīgi izveidots, mēs varam turpināt instalēt Hapi.js. Kā minēts iepriekš, mēs izmantosim NPM, lai mūsu projektam lejupielādētu Hapi.js, kā arī tā atkarības. Projekta direktorijā izpildiet tālāk norādīto.

npm install hapi.js

Tas lejupielādē Hapi.js no NPM un instalē to mūsu projektu direktorijā. Tajā pašā laikā mūsu ērtībām tiek lejupielādētas arī visas atkarības, uz kurām var paļauties Hapi.js.

Mūsu lietojumprogrammas parauga iestatīšana

Tagad ir pienācis laiks iestatīt mūsu pamata lietojumprogrammas failu Hapi.js. Tajā būs viss mūsu lietojumprogrammas kods. Tālāk mēs varam paplašināt mūsu lietojumprogrammas kodu un pievienot tam citas lietas, kā uzskatām par piemērotu.

Tālāk mēs izveidosim sākuma failu. Lai precīzi noteiktu, kā failam piešķirt nosaukumu, skatiet mainsava package.jsonfaila sadaļu . Tā kā es izmantoju noklusējuma nosaukumu shēmu, mūsu fails tiks saukts par index.js.

nano index.js

Kad esat nano teksta redaktorā, izveidojiet savu pamata lietojumprogrammas kodu, piemēram.

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();

Pirmkārt, mēs importējam Hapi moduli. Pēc tam mēs inicializējam mūsu servera konstruktoru, kurā ir resursdators, kurā vēlamies darbināt serveri, kā arī ports, kas 3000paredzēts šai apmācībai. Pēc tam mēs iestatām pamata maršrutētāju, kas norāda, ka ikreiz, kad kāds apmeklēs vietni, viņš tiks sveicināts ar vienkāršu ziņojumu. Turklāt mums ir asinhronizācijas funkcija, lai palaistu mūsu serveri, kas pieteiksies konsolē, kurā darbojas mūsu serveris. Kad esat pabeidzis, saglabājiet un aizveriet failu ( CTRL+ X)

Tagad, kad mūsu galvenais fails ir iestatīts, mēs esam gatavi palaist mūsu lietojumprogrammu.

node index.js

Ja Our server is running!konsolē redzat " ", serveris tika veiksmīgi startēts.

Instalējiet Nginx

Tā kā Nginx ir pieejams noklusējuma Ubuntu krātuvēs, instalēšana ir vienkārša. Vienkārši atjauniniet pakotņu sarakstus un instalējiet to.

sudo apt update
sudo apt install nginx -y 

Pēc pakotņu sarakstu atsvaidzināšanas tiks instalēts Nginx un tā atkarības.

Konfigurējiet Nginx

Lai Nginx varētu mainīt mūsu lietojumprogrammas starpniekserveri, mums ir jāizveido konfigurācijas fails. Šajā konfigurācijas failā būs informācija par mūsu lietojumprogrammu, ko Nginx izmantos reversajam starpniekserveram.

Izdzēsiet noklusējuma konfigurāciju, ko izveidoja Nginx, jo mēs to vēlāk aizstāsim ar savu.

sudo rm /etc/nginx/sites-enabled/default

Izveidojiet jaunu failu sites-availablemapē. Runājot par nosaukumu piešķiršanu, vienkāršības sitelabad mēs varam pieturēties pie vienkārša .

sudo nano /etc/nginx/sites-available/site

Failā ielīmējiet tālāk norādīto un saglabājiet.

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;
    }
}

Šajā failā mēs piedāvājam Nginx klausīties portā 80. Mēs arī iestatām starpniekservera pāreju uz localhostadresi un portu 3000, kas ir tas pats ports, kas mūsu Hapi lietojumprogrammai.

Tagad varat doties atpakaļ uz savu lietojumprogrammu direktoriju un sākt vietni. Kad vietne ir sākusies, vienkārši dodieties uz http://yourdomain.comvai http://yourip, un jūs redzēsit tekstu " Hello World".

Instalējiet PM2

PM2 var atrast NPM repozitorijā, un jūs varat to instalēt globāli, lai tas būtu pieejams no jebkuras vietas, piemēram.

sudo npm install pm2 -g

-gKarogs beigās, liecina, ka mēs vēlamies, lai instalētu moduli uz pasaules moduļu mapi, kas ļaus mums to izmantot ārpus mūsu projekta direktorijā. Tas tiek izmantots, lai mūsu projekts darbotos kā parasta sistēmas lietojumprogramma.

Mūsu lietotnes palaišana ar PM2

Kad esat instalējis PM2, dodieties atpakaļ uz sava projekta direktoriju. Mūsu lietojumprogrammas palaišanas sintakse tagad būs nedaudz atšķirīga. Šādi mēs to darīsim ar PM2.

pm2 start index.js --name site

Mēs izmantojam PM2 starta funkciju, kas pamatā izveido mūsu lietojumprogrammas profilu ar nosaukumu site. Pēc šīs komandas palaišanas jūsu vietne tiks startēta, taču pamanīsit, ka žurnāli netiks rādīti. Tas ir tāpēc, ka veids, kā mēs tagad skatām žurnālus, atšķiras.

pm2 logs site

Varat pat norādīt, cik žurnālu rindu vēlaties redzēt, izmantojot --linesargumentu.

Secinājums

Jūs esat veiksmīgi iestatījis Hapi.js tīmekļa serveri, atgriezis to starpniekserveri ar Nginx un uzzinājis, kā to labāk pārvaldīt, izmantojot PM2. Izmantojot šīs zināšanas, varat turpināt paplašināt šo pamācību un izveidot ļoti progresīvu lietojumprogrammu Hapi.js. Lai uzzinātu vairāk par Hapi iespējām, apmeklējiet viņu oficiālo dokumentāciju . Ja vēlaties uzzināt vairāk par PM2 iespējām, skatiet to īso lietošanas pamācību .

Atstājiet komentāru

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk