Hozzon létre egy Hapi.js webalkalmazást a Node.js használatával az Ubuntu 16.04 rendszeren

A Hapi.js egy gazdag, robusztus és hatékony Node.js keretrendszer, amelyet webalkalmazások készítésére terveztek a Node.js ökoszisztémában. Egyszerű kialakítása megkönnyíti az indulást. A Hapi a legfrissebb JavaScript ES6 funkciót használja alapjában, például az ES6 ígéreteit. Azok számára, akik korábban használták az Express-t, a Hapi lehetővé teszi, hogy kipróbáljon valami újat, és megtapasztalhassa a legújabb JavaScript-funkciókat.

Ebben az oktatóanyagban az a célunk, hogy létrehozzunk egy alapvető Hapi.js weboldalt, amelyet a Vultr VPS-ünk tárol az Ubuntu 16.04 LTS-en. Azok számára, akiknek van domainjük webhelyükhöz, fordított proxyt használunk a domain és a webhelyünk összekapcsolásához. Végül megtanuljuk, hogyan kezeljük ezt egy folyamatmenedzserrel. Most, hogy ezt már félretesszük, kezdjük el.

A Node.js telepítése

Telepítenünk kell a Node.js-t. Ubuntu 16.04 LTS esetén kövesse az alábbi utasításokat.

Az adattár hozzáadása

Hozzá kell adnunk a NodeSource APT-tárat, amely a Node.js legújabb LTS-kiadását tartalmazza.

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

Letöltünk egy szkriptet, amellyel a tárat a forráslistánkhoz adjuk, valamint telepítjük a Node.js fájlt a NodeSource tárolóból.

Építőeszközök telepítése

A Node.js telepítésén túl szükségünk lesz néhány szükséges összeállítási eszköz telepítésére is, amelyek segítséget nyújtanak az esetlegesen telepítendő modulok felépítésében.

sudo apt-get install -y build-essential

Ez egyszerűen letölti és telepíti az összeállítási eszközöket a tárolóból.

Alkalmazáskönyvtár beállítása

Jó gyakorlat, ha kijelölünk egy mappát, amelyet az alkalmazásunkhoz használunk, és amely tartalmazza az alkalmazásunk összes adatát, például konfigurációs fájlokat és indító szkripteket. Hozzon létre egy mappát, és nevezze el tetszés szerint. Az oktatóanyag kedvéért feltételezem, hogy te nevezted el site.

mkdir site

Ha elkészítette a mappát, most már át is alakíthatjuk. Győződjön meg arról, hogy az imént létrehozott könyvtárban van, és indítsa el az NPM-csomag varázslót.

npm init

Megkéri, hogy adjon meg néhány különböző dolgot, például az alkalmazás nevét, a kezdőfájlt, a licencet és így tovább. A legtöbb mezőt alapértelmezettként hagyhatja, kivéve a nyilvánvalóbb mezőket, például az alkalmazás nevét. A végén így fog kinézni:

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

Ha elégedett az eredménnyel, kattintson ENTERa fájl mentéséhez.

A Hapi.js telepítése

Most, hogy a könyvtár sikeresen elkészült, folytathatjuk a Hapi.js telepítését. Amint azt korábban említettük, az NPM-et használjuk a Hapi.js letöltéséhez, valamint annak függőségeit projektünkhöz. A projektkönyvtárban futtassa a következőt.

npm install hapi.js

Ez letölti a Hapi.js-t az NPM-ből, és telepíti a projektkönyvtárunkba. Ugyanebben a futásban a Hapi.js által támaszkodó függőségek is letöltődnek a mi kényelmünk érdekében.

Mintaalkalmazásunk beállítása

Most itt az ideje beállítani az alap Hapi.js alkalmazásfájlt. Ez tartalmazza majd az alkalmazáshoz tartozó összes kódunkat. Az úton tovább bővíthetjük az alkalmazáskódunkat, és tetszés szerint további dolgokat is hozzáadhatunk hozzá.

Ezután létrehozzuk a kezdőfájlunkat. A fájl elnevezésének pontos meghatározásához tekintse mainmeg a package.jsonfájl szakaszát . Mivel az alapértelmezett elnevezési sémát használtam, a fájlunk neve lesz index.js.

nano index.js

Miután belépett a nano szövegszerkesztőbe, hozza létre az alapalkalmazás kódját.

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

Először importáljuk a Hapi modult. Ezután inicializáljuk a szerver konstruktorunkat, amely tartalmazza azt a gazdagépet, amelyen futtatni kívánjuk a szervert, valamint a portot, amely 3000ehhez az oktatóanyaghoz tartozik. Ezután beállítunk egy alap útválasztót, amely jelzi, hogy valahányszor valaki felkeresi az oldalt, egy egyszerű üzenet fogadja. Mindennek tetejébe van egy aszinkron funkciónk, amellyel elindíthatjuk a szerverünket, amely bejelentkezik arra a konzolra, amelyen a szerverünk fut. Ha végzett, mentse és zárja be a fájlt ( CTRL+ X)

Most, hogy a fő fájlunk be van állítva, készen állunk az alkalmazás elindítására.

node index.js

Ha a " Our server is running!" feliratot látja a konzolon, akkor a kiszolgáló sikeresen elindult.

Telepítse az Nginx-et

Mivel az Nginx elérhető az alapértelmezett Ubuntu-tárolókban, a telepítés egyszerű. Egyszerűen frissítse a csomaglistákat, és telepítse.

sudo apt update
sudo apt install nginx -y 

A csomaglisták frissítése után az Nginx és függőségei telepítésre kerülnek.

Az Nginx beállítása

Ahhoz, hogy az Nginx megfordítsa az alkalmazásunkat, létre kell hoznunk egy konfigurációs fájlt. Ez a konfigurációs fájl információkat tartalmaz az alkalmazásunkról, amelyet az Nginx a fordított proxyhoz fog használni.

Törölje az Nginx által létrehozott alapértelmezett konfigurációt, mivel később a sajátunkra cseréljük.

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

Hozzon létre egy új fájlt a sites-availablemappában. Ami az elnevezést illeti site, az egyszerűség kedvéért maradhatunk az egyszerűnél.

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

Illessze be a következőt a fájlba, és mentse.

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

Ebben a fájlban azt mondjuk az Nginxnek, hogy figyeljen a porton 80. A proxy áthárítását is beállítjuk a localhostcímre és a portra 3000, amely megegyezik a Hapi alkalmazásunkkal.

Most visszatérhet az alkalmazáskönyvtárba, és elindíthatja a webhelyet. Miután a webhely elindult, egyszerűen navigáljon a http://yourdomain.comvagy elemre http://yourip, és látni fogja a " Hello World" szöveget .

Telepítse a PM2-t

A PM2 megtalálható az NPM repository-ban, és globálisan telepíthető, hogy bárhonnan elérhető legyen, például így.

sudo npm install pm2 -g

A -gvégén lévő zászló azt jelzi, hogy a modult a global modules mappába szeretnénk telepíteni, így a projektkönyvtárunkon kívül is használhatjuk. Ezt arra használjuk, hogy a projektünk úgy viselkedjen, mint egy normál rendszeralkalmazás.

Alkalmazásunk indítása a PM2-vel

A PM2 telepítése után lépjen vissza a projektkönyvtárba. Az alkalmazásunk indításának szintaxisa most kissé eltérő lesz. Így fogjuk csinálni a PM2-vel.

pm2 start index.js --name site

A PM2 start funkciót használjuk, amely alapvetően profilt hoz létre az alkalmazásunkhoz, néven site. A parancs futtatása után a webhely elindul, de észre fogja venni, hogy a naplók nem jelennek meg. Ennek az az oka, hogy a naplók jelenlegi megtekintésének módja más.

pm2 logs site

Az --linesargumentummal még azt is megadhatja, hogy hány naplósort szeretne látni .

Következtetés

Sikeresen beállított egy Hapi.js webszervert, fordított proxyt az Nginx-szel, és megtanulta, hogyan kezelheti jobban a PM2-vel. Ezzel a tudással tovább bővítheti ezt az oktatóanyagot, és nagyon fejlett Hapi.js alkalmazást készíthet. Ha többet szeretne megtudni a Hapi lehetőségeiről, keresse fel hivatalos dokumentációját . Ha többet szeretne megtudni a PM2 lehetőségeiről, tekintse meg gyors útmutatójukat .

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.