Looge veebirakendus Hapi.js, kasutades Ubuntu 16.04 Node.js-i

Hapi.js on rikkalik, jõuline ja võimas Node.js raamistik, mis on loodud veebirakenduste loomiseks Node.js ökosüsteemis. Selle sirgjooneline disain teeb sellega alustamise lihtsaks. Hapi kasutab paljusid uusimaid JavaScripti ES6 funktsioone, näiteks ES6 lubadusi. Neile teist, kes on Expressi varem kasutanud, võimaldab Hapi proovida midagi uut ja kogeda kõiki uusimaid JavaScripti funktsioone.

Selles õpetuses on meie eesmärk seadistada Ubuntu 16.04 LTS-is põhiline Hapi.js-i veebileht, mida majutatakse meie Vultr VPS-ist. Nende jaoks, kellel on saidile domeen, kasutame domeeni linkimiseks meie veebisaidiga pöördpuhverserverit. Lõpuks õpime protsessijuhiga seda juhtima. Nüüd, kui oleme sellest lahti saanud, alustame.

Node.js installimine

Peame installima Node.js. Ubuntu 16.04 LTS-is selleks järgige neid juhiseid.

Hoidla lisamine

Peame lisama NodeSource APT hoidla, mis sisaldab Node.js uusimat LTS-i väljalaset.

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

Laadime alla skripti, mida kasutame hoidla lisamiseks oma allikate loendisse, ning installime Node.js'i NodeSource'i hoidlast.

Ehitustööriistade installimine

Lisaks Node.js'i enda installimisele peame installima ka mõned vajalikud ehitustööriistad, mis aitavad ehitada mooduleid, mida meil võib tekkida vajadus installida.

sudo apt-get install -y build-essential

See lihtsalt laadib hoidlast alla ja installib ehitustööriistad.

Rakenduste kataloogi seadistamine

Hea tava on määrata kaust, mida oma rakenduse jaoks kasutame ja mis sisaldab kõiki meie rakenduse andmeid, nagu konfiguratsioonifailid ja käivitusskriptid. Looge kaust, andes sellele soovitud nime. Selle õpetuse huvides eeldan, et andsite sellele nime site.

mkdir site

Kui olete kausta loonud, saame nüüd seda muuta. Veenduge, et asute äsja loodud kataloogis, käivitage NPM-i paketiviisard.

npm init

See palub teil sisestada mõned erinevad asjad, nagu rakenduse nimi, algusfail, litsents ja nii edasi. Enamiku välju saate jätta vaikeväljadeks, välja arvatud ilmsemad väljad, näiteks teie rakenduse nimi. Lõpuks näeb see välja järgmine:

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

Kui olete tulemusega rahul, klõpsake ENTERfaili salvestamiseks.

Hapi.js installimine

Nüüd, kui teie kataloog on edukalt üles ehitatud, saame nüüd jätkata Hapi.js installimist. Nagu varem mainitud, kasutame meie projekti jaoks faili Hapi.js ja selle sõltuvuste allalaadimiseks NPM-i. Projektikataloogis käivitage järgmine.

npm install hapi.js

See laadib Hapi.js'i NPM-ist alla ja installib selle meie projektikataloogi. Sama käitamise ajal laaditakse meie mugavuse huvides alla ka kõik sõltuvused, millele Hapi.js võib tugineda.

Meie näidisrakenduse seadistamine

Nüüd on aeg seadistada meie põhirakenduse fail Hapi.js. See sisaldab kogu meie rakenduse koodi. Edaspidi saame laiendada oma rakenduse koodi ja lisada sellele rohkem asju vastavalt oma äranägemisele.

Järgmisena loome oma algusfaili. Vaadake tagasi mainoma package.jsonfaili jaotist , et määrata täpselt, kuidas failile nime anda. Kuna ma kasutasin vaikenimeskeemi, nimetatakse meie faili nimeks index.js.

nano index.js

Kui olete nano-tekstiredaktoris, looge oma põhirakenduse kood.

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

Esiteks impordime Hapi mooduli. Seejärel lähtestame oma serverikonstruktori, mis sisaldab hosti, milles tahame serverit käivitada, ja porti, mis on 3000selle õpetuse jaoks mõeldud. Järgmisena seadistame põhiruuteri, mis näitab, et kui keegi seda saiti külastab, tervitatakse teda lihtsa sõnumiga. Kõige tipuks on meil asünkroonimisfunktsioon, mis käivitab meie serveri, mis logib sisse konsooli, kus meie server töötab. Kui olete lõpetanud, salvestage ja sulgege fail ( CTRL+ X)

Nüüd, kui meie põhifail on seadistatud, oleme valmis rakendust käivitama.

node index.js

Kui näete Our server is running!konsoolis " ", siis server käivitus edukalt.

Installige Nginx

Kuna Nginx on saadaval Ubuntu vaikehoidlates, on installimine lihtne. Lihtsalt värskendage oma pakettide loendeid ja installige see.

sudo apt update
sudo apt install nginx -y 

Pärast pakettide loendite värskendamist installitakse Nginx ja selle sõltuvused.

Nginxi konfigureerimine

Selleks, et Nginx saaks meie rakenduse puhverserveri tagasi pöörata, peame looma konfiguratsioonifaili. See konfiguratsioonifail sisaldab teavet meie rakenduse kohta, mida Nginx kasutab pöördpuhverserveri jaoks.

Kustutage Nginxi loodud vaikekonfiguratsioon, kuna asendame selle hiljem enda omaga.

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

Looge sites-availablekaustas uus fail . Nime andmise osas võime sitelihtsuse huvides jääda lihtsaks .

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

Kleepige faili järgmine ja salvestage.

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

Selles failis käsime Nginxil kuulata porti 80. Samuti määrame puhverserveri läbipääsu localhostaadressile ja pordile 3000, mis on sama port, mis meie Hapi rakendus.

Nüüd saate navigeerida tagasi oma rakenduste kataloogi ja käivitada sait. Kui sait on käivitunud, navigeerige lihtsalt http://yourdomain.comvõi http://youripja näete teksti " Hello World".

Installige PM2

PM2 leiate NPM-i hoidlast ja saate selle globaalselt installida, et see oleks igal pool juurdepääsetav.

sudo npm install pm2 -g

-gLipu lõpus näitab, et me tahame paigaldada moodul ülemaailmse moodulid kausta, mis võimaldab meil kasutada seda väljaspool meie projekti kataloogis. Seda kasutatakse selleks, et meie projekt käituks nagu tavaline süsteemirakendus.

Rakenduse käivitamine PM2-ga

Kui olete PM2 installinud, navigeerige tagasi oma projektikataloogi. Meie rakenduse käivitamise süntaks on nüüd veidi erinev. Nii teeme seda PM2-ga.

pm2 start index.js --name site

Kasutame PM2 käivitusfunktsiooni, mis põhimõtteliselt loob meie rakendusele profiili nime all site. Pärast selle käsu käivitamist teie veebisait käivitub, kuid märkate, et logisid ei kuvata. Seda seetõttu, et viis, kuidas me praegu logisid vaatame, on erinev.

pm2 logs site

--linesArgumendiga saate isegi määrata, mitu rida logisid soovite näha .

Järeldus

Olete edukalt seadistanud Hapi.js veebiserveri, muutnud selle Nginxiga tagasi ja õppinud, kuidas seda PM2 abil paremini hallata. Nende teadmiste abil saate seda õpetust veelgi laiendada ja luua väga täiustatud rakenduse Hapi.js. Hapi võimaluste kohta lisateabe saamiseks külastage nende ametlikku dokumentatsiooni . Kui soovite PM2 võimaluste kohta rohkem teada saada, vaadake nende kiirjuhendit .


Seadistage Cacti Debian Jessies

Seadistage Cacti Debian Jessies

Sissejuhatus Cacti on avatud lähtekoodiga seire- ja graafikutööriist, mis põhineb täielikult RRD andmetel. Cacti kaudu saate jälgida peaaegu igat tüüpi seadmeid

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Installige Lets Encrypt SSL ühe klõpsuga WordPressi rakendusse

Sissejuhatus Lets Encrypt on sertifikaatide väljastamise teenus, mis pakub tasuta TLS/SSL-sertifikaate. Paigaldusprotsessi lihtsustab Certbot,

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Tekkiti klassikalise serveri seadistamine Ubuntu 16.10-s

Kas kasutate teistsugust süsteemi? Mis on Tekkit Classic? Tekkit Classic on modifikatsioonipakett mängule, mida kõik teavad ja armastavad; Minecraft. See sisaldab mõningaid ver

Seadistage iRedMail Debian Wheezys

Seadistage iRedMail Debian Wheezys

Kas kasutate teistsugust süsteemi? See õpetus näitab teile, kuidas installida grupitöö iRedMail Debian Wheezy värskele installile. Peaksite kasutama servi

Jekylli ajaveebi loomine Ubuntus 16.04

Jekylli ajaveebi loomine Ubuntus 16.04

Kas kasutate teistsugust süsteemi? Jekyll on suurepärane alternatiiv WordPressile ajaveebi pidamiseks või sisu jagamiseks. See ei nõua andmebaase ja see on väga lihtne

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Järelevalveta versiooniuuenduste seadistamine Debian 9-s (venitamine)

Kas kasutate teistsugust süsteemi? Kui ostate Debiani serveri, peaksid teil alati olema uusimad turvapaigad ja värskendused, olenemata sellest, kas magate või mitte

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP 7.0 või PHP 7.1 installimine ja konfigureerimine Ubuntu 16.04-s

PHP ja sellega seotud paketid on veebiserveri juurutamisel kõige sagedamini kasutatavad komponendid. Selles artiklis õpime, kuidas seadistada PHP 7.0 või PHP 7.1 o

Kuidas installida CentOS-i Squid Proxy

Kuidas installida CentOS-i Squid Proxy

Squid on populaarne tasuta Linuxi programm, mis võimaldab teil luua edastamise veebipuhverserveri. Selles juhendis näete, kuidas installida Squid CentOS-i, et teid pöörata

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Lighttpd (LLMP Stack) installimine CentOS 6-sse

Sissejuhatus Lighttpd on Apache'i hark, mille eesmärk on olla palju vähem ressursimahukas. See on kerge, sellest ka oma nimi, ja seda on üsna lihtne kasutada. Installin

Kolm tasuta serveri juhtpaneeli (kiire installimine)

Kolm tasuta serveri juhtpaneeli (kiire installimine)

1. Virtualmin/Webmin Virtualmin on võimas ja paindlik veebimajutuse juhtpaneel Linuxi ja UNIX süsteemidele, mis põhineb tuntud avatud lähtekoodiga veebibaasil

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii rakenduse seadistamine Ubuntu 14.04-s

Yii on PHP raamistik, mis võimaldab teil rakendusi kiiremini ja lihtsamalt arendada. Yii installimine Ubuntule on lihtne, nagu saate täpselt teada

Ekraani kasutamine Ubuntu 14.04-s

Ekraani kasutamine Ubuntu 14.04-s

Ekraan on rakendus, mis võimaldab ühes aknas mitut terminaliseanssi kasutada. See võimaldab simuleerida mitut terminali akent, kus see ma

Seadistage Debianis/Ubuntus oma DNS-server

Seadistage Debianis/Ubuntus oma DNS-server

See õpetus selgitab, kuidas seadistada DNS-serverit Bind9 abil Debianis või Ubuntus. Asendage kogu artikli vältel oma-domeen-nimi.com vastavalt. Kell th

Logrotate kasutamine logifailide haldamiseks

Logrotate kasutamine logifailide haldamiseks

Sissejuhatus Logrotate on Linuxi utiliit, mis lihtsustab logifailide haldamist. Tavaliselt töötab see kord päevas cron-töö kaudu ja haldab logibaasi

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 muutmine, et kasutada CentOS 6 või CentOS 7 põhi-/kliendimudelit

Icinga2 on võimas seiresüsteem ja kui seda kasutatakse põhikliendi mudelis, võib see asendada vajaduse NRPE-põhiste seirekontrollide järele. Meister-klient

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Seadistage Red5 Media Server versioonis Ubuntu 16.04

Kas kasutate teistsugust süsteemi? Red5 on Java-s realiseeritud avatud lähtekoodiga meediumiserver, mis võimaldab käivitada mitme kasutajaga Flashi rakendusi, näiteks otseülekandeid.

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Kompileerige ja installige Nginx mooduliga PageSpeed ​​Debian 8

Selles artiklis näeme, kuidas kompileerida ja installida Nginxi põhiliini ametlikest Nginxi allikatest mooduliga PageSpeed, mis võimaldab teil

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Apache Cassandra 3.11.x installimine Ubuntu 16.04 LTS-i

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Apache Cassandra 3.11.x installimine opsüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Apache Cassandra on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasihaldussüsteem, mis on loodud pakkuma skaleeritavust, hig.

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit