Búðu til Hapi.js vefforrit með því að nota Node.js á Ubuntu 16.04

Hapi.js er ríkur, öflugur og öflugur Node.js rammi hannaður til að byggja upp vefforrit í Node.js vistkerfinu. Einföld hönnun hennar gerir það auðvelt að byrja með. Hapi notar marga af nýjustu JavaScript ES6 eiginleikum í kjarna sínum, eins og ES6 loforð. Fyrir ykkur sem hafið notað Express áður, gerir Hapi ykkur kleift að prófa eitthvað nýtt og upplifa alla nýjustu JavaScript eiginleikana.

Í þessari kennslu mun markmið okkar vera að setja upp grunn Hapi.js vefsíðu, sem er hýst frá Vultr VPS okkar, á Ubuntu 16.04 LTS. Fyrir þá sem eru með lén fyrir síðuna sína munum við nota öfugt umboð til að tengja lénið okkar við vefsíðuna okkar. Að lokum munum við læra hvernig á að stjórna því með ferlistjóra. Nú þegar við erum búin að koma þessu úr vegi skulum við byrja.

Setur upp Node.js

Við þurfum að setja upp Node.js. Til að gera það á Ubuntu 16.04 LTS skaltu fylgja þessum leiðbeiningum.

Bætir við geymslunni

Við þurfum að bæta við NodeSource APT geymslunni, sem inniheldur nýjustu LTS útgáfuna af Node.js.

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

Við erum að hlaða niður skriftu sem við munum nota til að bæta geymslunni við heimildalistann okkar, auk þess að setja upp Node.js úr NodeSource geymslunni.

Að setja upp byggingarverkfæri

Auk þess að setja upp Node.js sjálft, þurfum við einnig að setja upp nokkur nauðsynleg byggingarverkfæri, sem munu aðstoða við að byggja upp allar einingar sem við gætum þurft að setja upp.

sudo apt-get install -y build-essential

Þetta einfaldlega hleður niður og setur upp byggingarverkfærin úr geymslunni.

Setja upp forritaskrá

Það er góð venja að tilgreina möppu sem við munum nota fyrir forritið okkar, sem mun innihalda öll gögn forritsins okkar, svo sem stillingarskrár og ræsiforskriftir. Búðu til möppu, nefndu hana hverju sem þú vilt. Vegna þessa kennslu mun ég gera ráð fyrir að þú hafir nefnt það site.

mkdir site

Þegar þú hefur búið til möppuna getum við breytt í hana. Gakktu úr skugga um að þú sért í möppunni sem þú varst að búa til, ræstu NPM pakkahjálpina.

npm init

Það mun biðja þig um að slá inn nokkra mismunandi hluti, svo sem nafn umsóknar, upphafsskrá, leyfi og svo framvegis. Flesta reiti geturðu skilið eftir sjálfgefna, nema augljósari reitir, eins og nafnið á umsókninni þinni. Að lokum mun það líta svona út:

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

Þegar þú ert ánægður með niðurstöðuna skaltu smella á ENTERtil að vista skrána.

Setur upp Hapi.js

Nú þegar búið er að smíða möppuna þína getum við nú haldið áfram að setja upp Hapi.js. Eins og áður hefur komið fram munum við nota NPM til að hlaða niður Hapi.js, sem og ósjálfstæði þess, fyrir verkefnið okkar. Í verkefnaskránni skaltu keyra eftirfarandi.

npm install hapi.js

Þetta hleður niður Hapi.js frá NPM og setur það upp í verkefnaskránni okkar. Í sömu keyrslu eru allar ósjálfstæðir sem Hapi.js gæti reitt sig á einnig hlaðið niður okkur til hægðarauka.

Að setja upp sýnishornsforritið okkar

Nú er kominn tími til að setja upp grunn Hapi.js forritaskrána okkar. Þetta mun innihalda allan kóðann okkar fyrir forritið. Lengra á leiðinni getum við útvíkkað umsóknarkóðann okkar og bætt fleiri hlutum við hann, eins og okkur sýnist.

Næst munum við búa til upphafsskrána okkar. Vísaðu aftur til mainhluta package.jsonskrárinnar til að ákvarða nákvæmlega hvernig á að nefna skrána. Þar sem ég notaði sjálfgefið nafnakerfi mun skráin okkar heita index.js.

nano index.js

Þegar þú ert inni í nanó textaritlinum skaltu búa til grunnforritskóðann þinn, eins og svo.

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

Fyrst flytjum við inn Hapi eininguna. Síðan frumstillum við netþjónssmiðinn okkar, sem inniheldur hýsilinn sem við viljum keyra netþjóninn á, sem og portið, sem er 3000fyrir þessa kennslu. Næst settum við upp grunnbeini sem gefur til kynna að í hvert skipti sem einhver heimsækir síðuna verði þeim heilsað með einföldum skilaboðum. Til að toppa þetta allt höfum við ósamstillingaraðgerð, til að ræsa netþjóninn okkar, sem mun skrá sig inn á stjórnborðið sem miðlarinn okkar er að keyra. Þegar þú ert búinn skaltu vista og loka skránni ( CTRL+ X)

Nú þegar aðalskráin okkar er sett upp erum við tilbúin að hefja umsókn okkar.

node index.js

Ef þú sérð " Our server is running!" í stjórnborðinu, þá byrjaði þjónninn vel.

Settu upp Nginx

Þar sem Nginx er fáanlegt í sjálfgefnum Ubuntu geymslum er uppsetningin einföld. Uppfærðu einfaldlega pakkalistana þína og settu hann upp.

sudo apt update
sudo apt install nginx -y 

Eftir að hafa endurnýjað pakkalistana verður Nginx og ósjálfstæði þess sett upp.

Stilla Nginx

Til þess að Nginx geti snúið við proxy-forritinu okkar, þurfum við að búa til stillingarskrá. Þessi stillingarskrá mun geyma upplýsingar um forritið okkar, sem Nginx mun nota fyrir öfuga proxy.

Eyddu sjálfgefna stillingunni sem Nginx bjó til, þar sem við munum skipta henni út fyrir okkar eigin síðar.

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

Búðu til nýja skrá í sites-availablemöppunni. Hvað varðar nafngiftir, þá getum við haldið okkur við einfaldlega site, til einföldunar.

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

Límdu eftirfarandi í skrána og vistaðu.

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

Í þessari skrá erum við að segja Nginx að hlusta á port 80. Við erum líka að stilla proxy-passthrough á localhostheimilisfangið og port 3000, sem er sama tengi og Hapi forritið okkar.

Nú geturðu farið aftur í forritaskrána þína og ræst síðuna. Þegar síðan hefur byrjað skaltu einfaldlega fara á http://yourdomain.comeða http://yourip, og þú munt sjá textann " Hello World".

Settu upp PM2

PM2 er að finna í NPM geymslunni og þú getur sett það upp á heimsvísu til að vera aðgengilegt hvar sem er, eins og svo.

sudo npm install pm2 -g

The -gfána í lok gefur til kynna að við viljum að setja mát í alþjóðlegum einingum möppunni, sem mun gera okkur kleift að nota það utan verkefnisins skránni okkar. Þetta er notað til að verkefnið okkar hegði sér eins og venjulegt kerfisforrit.

Ræsir appið okkar með PM2

Þegar þú hefur sett upp PM2 skaltu fara aftur í verkefnaskrána þína. Setningafræðin til að hefja forritið okkar verður aðeins öðruvísi núna. Svona munum við gera það með PM2.

pm2 start index.js --name site

Við notum PM2 byrjunaraðgerðina, sem býr í grundvallaratriðum til prófíl fyrir forritið okkar, undir nafninu site. Eftir að hafa keyrt þá skipun mun vefsíðan þín ræsast, en þú munt taka eftir því að annálarnir birtast ekki. Það er vegna þess að hvernig við skoðum logs núna er öðruvísi.

pm2 logs site

Þú getur jafnvel tilgreint hversu margar línur af annálum þú vilt sjá, með --linesrökunum.

Niðurstaða

Þú hefur sett upp Hapi.js vefþjón með góðum árangri, snúið honum aftur með Nginx og lært hvernig á að stjórna honum betur með PM2. Með þessari þekkingu geturðu útvíkkað þessa kennslu frekar og búið til mjög háþróað Hapi.js forrit. Til að læra meira um möguleika Hapi skaltu skoða opinber skjöl þeirra . Ef þú vilt læra meira um möguleika á PM2, vísa til þeirra Quick Start Guide .


Settu upp Cacti á Debian Jessie

Settu upp Cacti á Debian Jessie

Inngangur Cacti er opinn vöktunar- og grafatól sem byggir að fullu á RRD gögnum. Í gegnum Cacti geturðu fylgst með næstum hvers kyns tækjum

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Inngangur Lets Encrypt er vottunaryfirvaldsþjónusta sem býður upp á ókeypis TLS/SSL vottorð. Uppsetningarferlið er einfaldað af Certbot,

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Að nota annað kerfi? Hvað er Tekkit Classic? Tekkit Classic er modpack fyrir leikinn sem allir þekkja og elska; Minecraft. Það inniheldur eitthvað af ver

Settu upp iRedMail á Debian Wheezy

Settu upp iRedMail á Debian Wheezy

Að nota annað kerfi? Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á Debian Wheezy. Þú ættir að nota þjóna

Að búa til Jekyll blogg á Ubuntu 16.04

Að búa til Jekyll blogg á Ubuntu 16.04

Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

PHP og tengdir pakkar eru algengustu íhlutirnir þegar vefþjónn er notaður. Í þessari grein munum við læra hvernig á að setja upp PHP 7.0 eða PHP 7.1 o

Hvernig á að setja upp Squid Proxy á CentOS

Hvernig á að setja upp Squid Proxy á CentOS

Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Inngangur Lighttpd er gaffal af Apache sem miðar að því að vera miklu minna auðlindafrekt. Hann er léttur, þess vegna heitir hann, og er frekar einfaldur í notkun. Uppsetning

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

1. Virtualmin/Webmin Virtualmin er öflugt og sveigjanlegt stjórnborð fyrir vefhýsingu fyrir Linux og UNIX kerfi byggt á hinum vel þekkta Open Source vefgrunni

Setja upp Yii forrit á Ubuntu 14.04

Setja upp Yii forrit á Ubuntu 14.04

Yii er PHP ramma sem gerir þér kleift að þróa forrit hraðar og auðveldlega. Uppsetning Yii á Ubuntu er einföld, þar sem þú munt læra nákvæmlega

Notkun Skjár á Ubuntu 14.04

Notkun Skjár á Ubuntu 14.04

Skjár er forrit sem leyfir margs konar notkun flugstöðvarlota innan eins glugga. Þetta gerir þér kleift að líkja eftir mörgum flugstöðvum gluggum þar sem það ma

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Þessi kennsla útskýrir hvernig á að setja upp DNS netþjón með Bind9 á Debian eða Ubuntu. Í gegnum greinina skaltu skipta út-léninu þínu.com í samræmi við það. Á þ

Notkun Logrotate til að stjórna annálaskrám

Notkun Logrotate til að stjórna annálaskrám

Inngangur Logrotate er Linux tól sem einfaldar stjórnun annálaskráa. Það keyrir venjulega einu sinni á dag í gegnum cron-vinnu og stjórnar annálagrunni

Stilla Static Networking og IPv6 á CentOS 7

Stilla Static Networking og IPv6 á CentOS 7

VULTR hefur nýlega gert breytingar á enda þeirra og allt ætti nú að virka vel út úr kassanum með NetworkManager virkt. Ef þú vilt slökkva á

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Icinga2 er öflugt eftirlitskerfi og þegar það er notað í aðal-viðskiptavinamódel getur það komið í stað þörf fyrir NRPE-undirstaða vöktunareftirlit. Húsbóndinn

Settu upp Red5 Media Server á Ubuntu 16.04

Settu upp Red5 Media Server á Ubuntu 16.04

Að nota annað kerfi? Red5 er opinn uppspretta miðlara útfærður í Java sem gerir þér kleift að keyra Flash fjölnotendaforrit eins og straumspilun í beinni

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Í þessari grein munum við sjá hvernig á að setja saman og setja upp Nginx mainline frá opinberum heimildum Nginx með PageSpeed ​​einingunni, sem gerir þér kleift að

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Að nota annað kerfi? Apache Cassandra er ókeypis og opinn uppspretta NoSQL gagnagrunnsstjórnunarkerfi sem er hannað til að veita sveigjanleika, háan

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Að nota annað kerfi? Vanilla forum er opinn uppspretta spjallforrit skrifað í PHP. Það er fullkomlega sérhannaðar, auðvelt í notkun og styður utanaðkomandi

Hvernig á að setja upp Gitea á Debian 9

Hvernig á að setja upp Gitea á Debian 9

Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfhýst útgáfustýringarkerfi knúið af Git. Gitea er skrifað á Golang og er

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira