Luo Hapi.js-verkkosovellus Node.js:n avulla Ubuntu 16.04:ssä

Hapi.js on rikas, vankka ja tehokas Node.js-kehys, joka on suunniteltu verkkosovellusten rakentamiseen Node.js-ekosysteemissä. Sen suoraviivainen muotoilu helpottaa aloittamista. Hapi käyttää ytimessä monia uusimpia JavaScript ES6 -ominaisuuksia, kuten ES6-lupauksia. Niille teistä, jotka ovat käyttäneet Expressiä aiemmin, Hapi antaa sinun kokeilla jotain uutta ja kokea kaikki uusimmat JavaScript-ominaisuudet.

Tässä opetusohjelmassa tavoitteenamme on perustaa Hapi.js-perusverkkosivu, jota isännöidään Vultr VPS:stämme Ubuntu 16.04 LTS:ään. Niille, joilla on sivustolleen verkkotunnus, käytämme käänteistä välityspalvelinta verkkotunnuksen linkittämiseen verkkosivustoomme. Lopuksi opimme hallitsemaan sitä prosessipäällikön kanssa. Nyt kun olemme saaneet sen pois tieltä, aloitetaan.

Node.js:n asentaminen

Meidän on asennettava Node.js. Voit tehdä sen Ubuntu 16.04 LTS:ssä noudattamalla näitä ohjeita.

Arkiston lisääminen

Meidän on lisättävä NodeSource APT -tietovarasto, joka sisältää Node.js:n uusimman LTS-julkaisun.

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

Lataamme skriptin, jonka avulla lisäämme arkiston lähdeluetteloomme, sekä asennamme Node.js:n NodeSource-arkistosta.

Rakennustyökalujen asentaminen

Itse Node.js:n asennuksen lisäksi meidän on asennettava myös joitain tarvittavia rakennustyökaluja, jotka auttavat mahdollisesti asennettavien moduulien rakentamisessa.

sudo apt-get install -y build-essential

Tämä yksinkertaisesti lataa ja asentaa rakennustyökalut arkistosta.

Sovellushakemiston määrittäminen

On hyvä käytäntö määrittää sovelluksellemme käytettävä kansio, joka sisältää kaikki sovelluksemme tiedot, kuten asetustiedostot ja käynnistysskriptit. Luo kansio ja anna sille haluamasi nimi. Tämän opetusohjelman vuoksi oletan, että annoit sille nimen site.

mkdir site

Kun olet tehnyt kansion, voimme nyt muuttaa sen. Varmista, että olet juuri luomassasi hakemistossa, ja käynnistä ohjattu NPM-pakettitoiminto.

npm init

Se pyytää sinua syöttämään muutamia eri asioita, kuten sovelluksesi nimen, aloitustiedoston, lisenssin ja niin edelleen. Useimmat kentät voit jättää oletusarvoiksi, lukuun ottamatta selvempiä kenttiä, kuten sovelluksesi nimeä. Lopulta se näyttää tältä:

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

Kun olet tyytyväinen tulokseen, napsauta ENTERtallentaaksesi tiedoston.

Hapi.js:n asentaminen

Nyt kun hakemistosi on luotu onnistuneesti, voimme nyt jatkaa Hapi.js:n asentamista. Kuten aiemmin mainittiin, käytämme NPM:ää Hapi.js:n ja sen riippuvuuksien lataamiseen projektiimme. Suorita projektihakemistossa seuraava.

npm install hapi.js

Tämä lataa Hapi.js:n NPM:stä ja asentaa sen projektihakemistoomme. Saman ajon aikana myös kaikki riippuvuudet, joihin Hapi.js voi luottaa, ladataan avuksemme.

Esimerkkisovelluksemme määrittäminen

Nyt on aika määrittää perushapi.js-sovellustiedostomme. Tämä sisältää kaikki koodimme sovellukselle. Myöhemmin voimme laajentaa sovelluskoodiamme ja lisätä siihen muita asioita, kuten parhaaksi katsomme.

Seuraavaksi luomme aloitustiedostomme. Katso takaisin tiedostosi mainosioon package.jsonmäärittääksesi, kuinka tiedosto nimetään. Koska käytin oletusnimeämisjärjestelmää, tiedostomme kutsutaan nimellä index.js.

nano index.js

Kun olet nano-tekstieditorissa, luo perussovelluskoodisi.

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

Ensin tuomme Hapi-moduulin. Sitten alustamme palvelinkonstruktorimme, joka sisältää isäntäkoneen, jolla haluamme käyttää palvelinta, sekä portin, joka on 3000tätä opetusohjelmaa varten. Seuraavaksi määritimme perusreitittimen, joka osoittaa, että aina kun joku vierailee sivustolla, hänet tervehditään yksinkertaisella viestillä. Kaiken huipuksi meillä on async-toiminto, joka käynnistää palvelimemme, joka kirjautuu konsoliin, jossa palvelimemme on käynnissä. Kun olet valmis, tallenna ja sulje tiedosto ( CTRL+ X)

Nyt kun päätiedostomme on määritetty, olemme valmiita käynnistämään sovelluksemme.

node index.js

Jos näet Our server is running!konsolissa " ", palvelin käynnistyi onnistuneesti.

Asenna Nginx

Koska Nginx on saatavana oletusarvoisissa Ubuntu-arkistoissa, asennus on yksinkertaista. Päivitä vain pakettiluettelosi ja asenna se.

sudo apt update
sudo apt install nginx -y 

Kun pakettiluettelot on päivitetty, Nginx ja sen riippuvuudet asennetaan.

Määritä Nginx

Jotta Nginx voi kääntää sovelluksemme välityspalvelimen, meidän on luotava määritystiedosto. Tämä asetustiedosto sisältää tietoja sovelluksestamme, joita Nginx käyttää käänteisessä välityspalvelimessa.

Poista Nginxin luoma oletuskokoonpano, koska korvaamme sen myöhemmin omallamme.

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

Tee sites-availablekansioon uusi tiedosto . Mitä tulee nimeämiseen, voimme pysyä yksinkertaisuudessa siteyksinkertaisuuden vuoksi.

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

Liitä tiedostoon seuraava ja tallenna.

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

Tässä tiedostossa kehotamme Nginxiä kuuntelemaan portissa 80. Asetamme myös välityspalvelimen läpimenon localhostosoitteeseen ja porttiin 3000, joka on sama portti kuin Hapi-sovelluksemme.

Nyt voit navigoida takaisin sovellushakemistoosi ja käynnistää sivuston. Kun sivusto on alkanut, siirry kohtaan http://yourdomain.comtai http://youripja näet tekstin " Hello World".

Asenna PM2

PM2 löytyy NPM-arkistosta, ja voit asentaa sen maailmanlaajuisesti, jotta se on käytettävissä mistä tahansa.

sudo npm install pm2 -g

-gLippu lopussa osoittaa, että haluamme asentaa moduuli maailmanlaajuiseen moduulit kansio, jonka avulla voimme käyttää sitä ulkopuolella meidän projektin hakemistoon. Tätä käytetään, jotta projektimme toimisi normaalin järjestelmäsovelluksen tavoin.

Sovelluksen käynnistäminen PM2:lla

Kun olet asentanut PM2:n, siirry takaisin projektihakemistoosi. Sovelluksemme käynnistämisen syntaksi on nyt hieman erilainen. Näin teemme sen PM2:n kanssa.

pm2 start index.js --name site

Käytämme PM2 start -toimintoa, joka pohjimmiltaan luo profiilin sovelluksellemme nimellä site. Tämän komennon suorittamisen jälkeen verkkosivustosi käynnistyy, mutta huomaat, että lokit eivät näy. Tämä johtuu siitä, että tapamme tarkastella lokeja nyt on erilainen.

pm2 logs site

Voit jopa määrittää, kuinka monta riviä lokeja haluat nähdä --linesargumentin avulla.

Johtopäätös

Olet onnistuneesti määrittänyt Hapi.js-verkkopalvelimen, välittänyt sen Nginxillä ja oppinut hallitsemaan sitä paremmin PM2:lla. Tämän tiedon avulla voit laajentaa tätä opetusohjelmaa ja tehdä erittäin edistyneen Hapi.js-sovelluksen. Saat lisätietoja Hapin mahdollisuuksista vierailemalla heidän virallisessa dokumentaatiossaan . Jos haluat tietää lisää PM2:n mahdollisuuksista, katso niiden pika-aloitusopas .


Docker CE:n asentaminen Ubuntuun 16.04

Docker CE:n asentaminen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Docker on sovellus, jonka avulla voidaan ottaa käyttöön säilöinä ajettavia ohjelmia. Se kirjoitettiin suositulla Go-ohjelmalla

Dirty Cow Exploitin korjaus CentOS:ssä

Dirty Cow Exploitin korjaus CentOS:ssä

Mikä on Dirty Cow (CVE-2016-5195)? Dirty Cow -haavoittuvuutta hyödynnetään siinä, miten Linux käsittelee koodia. Se mahdollistaa etuoikeutettujen käyttäjien gai:n

Aseta aikavyöhyke ja NTP Ubuntuun 14.04

Aseta aikavyöhyke ja NTP Ubuntuun 14.04

Vultr-palvelimia ei välttämättä oteta käyttöön palvelimellasi tarvitsemallasi aikavyöhykkeellä/päivämäärällä/-ajalla. Onneksi voimme asettaa aikavyöhykkeen manuaalisesti ongelmien estämiseksi

Ota Meteor-sovellus käyttöön Ubuntussa

Ota Meteor-sovellus käyttöön Ubuntussa

Tämä artikkeli opastaa sinua Meteor-sovelluksen käyttöönotossa Vultr VPS:ssä, jossa on Ubuntu 14.04. Se voi toimia myös muissa Linux-jakeluissa (yritä a

Kuinka asentaa osTicket FreeBSD 12:een

Kuinka asentaa osTicket FreeBSD 12:een

Käytätkö erilaista järjestelmää? osTicket on avoimen lähdekoodin asiakastuen lippujärjestelmä. osTicket-lähdekoodia isännöidään julkisesti Githubissa. Tässä opetusohjelmassa

Korkea käytettävyys käyttämällä yksityistä verkkoa Ubuntu 16.04:ssä Keepalivedin kanssa

Korkea käytettävyys käyttämällä yksityistä verkkoa Ubuntu 16.04:ssä Keepalivedin kanssa

Jotkut korkean käytettävyyden arkkitehtuurit vaativat kelluvan IP-osoitteen. Tämä toiminto on käytettävissä Vultr-alustalla, kun yksityinen verkko on toiminut

Määritä vain SFTP-käyttäjätilit Ubuntu 14:ssä

Määritä vain SFTP-käyttäjätilit Ubuntu 14:ssä

Johdanto Tietyt skenaariot edellyttävät, että luot käyttäjiä, joilla on luku- ja kirjoitusoikeudet yhteen hakemistoon vain FTP:n kautta. Tämä kirjoitus näyttää sinulle, kuinka t

Pysyvien Node.js-sovellusten määrittäminen Ubuntu 16.04:ssä

Pysyvien Node.js-sovellusten määrittäminen Ubuntu 16.04:ssä

Node.js-sovellukset ovat suosittuja skaalautumiskykynsä vuoksi. Useiden samanaikaisten prosessien suorittaminen useilla palvelimilla tuottaa pienemmän viiveen ja pidemmän käytettävyyden

Kuinka estää samanaikaiset yhteydet Linuxissa IPTablesin avulla

Kuinka estää samanaikaiset yhteydet Linuxissa IPTablesin avulla

iptables on palomuuriohjelmisto, joka löytyy monista jakeluista, mukaan lukien CentOS ja Ubuntu. Tässä asiakirjassa näet, kuinka voit estää samanaikaisuuden

How to Install BookStack on Ubuntu 16.04

How to Install BookStack on Ubuntu 16.04

Using a Different System? BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. BookStack is fully free and open

Tietojen palauttaminen SFTP:n kautta

Tietojen palauttaminen SFTP:n kautta

Tietojen palauttaminen SFTP:n kautta Tapauksissa, joissa asennettu käyttöjärjestelmä kohtaa virheen, joka ei salli käyttöjärjestelmän käynnistymistä normaalisti, data voi olla tarpeen noutaa

OpenVPN-palvelimen luominen Ubuntu 16.04:ssä

OpenVPN-palvelimen luominen Ubuntu 16.04:ssä

Johdanto OpenVPN on suojattu VPN, joka käyttää SSL:ää (Secure Socket Layer) ja tarjoaa laajan valikoiman ominaisuuksia. Tässä oppaassa on hyvä kattaa prosessi

Node.js:n asentaminen lähteestä Ubuntu 14.04:ään

Node.js:n asentaminen lähteestä Ubuntu 14.04:ään

Asenna rakennustyökalut Tarvitaan useita työkaluja. Suorita seuraava komento: apt-get install make g++ libssl-dev git Lataa Node.js lähde Se i

Bro IDS:n asentaminen Ubuntu 16.04:ään

Bro IDS:n asentaminen Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Johdanto Bro on tehokas avoimen lähdekoodin verkkoanalyysikehys. Bros keskittyy ensisijaisesti verkkoturvallisuuden valvontaan. Br

Devtoolsin käyttäminen Arch Linuxissa

Devtoolsin käyttäminen Arch Linuxissa

Devtools-paketti tehtiin alun perin luotettaville käyttäjille, jotta he voivat luoda paketteja oikein virallisiin tietovarastoihin. Tavallinen käyttäjä voi kuitenkin käyttää sitä

Makepkg:n käyttäminen Arch Linuxissa

Makepkg:n käyttäminen Arch Linuxissa

Jos käytät makepkg:a suoraan, se saastuttaa järjestelmääsi jonkin verran. Peruskehityksen pakettiryhmä on asennettava. Tällä tavalla oletusarvoisesti riippuvuuksia tarvitaan vain

Päivitä Linux-ydin ilman uudelleenkäynnistystä LivePatchilla Ubuntu 16.04:ssä

Päivitä Linux-ydin ilman uudelleenkäynnistystä LivePatchilla Ubuntu 16.04:ssä

Vultr VPS:n pitäminen ajan tasalla on tärkeää turvallisuuden ja suorituskyvyn kannalta. Tämän prosessin ydin on varmistaa, että järjestelmäsi toimii uusimpien versioiden kanssa

Prosessin mukavuuden (ensisijainen) säätäminen useimmissa Linux-jakeluissa

Prosessin mukavuuden (ensisijainen) säätäminen useimmissa Linux-jakeluissa

GNU/Linux-järjestelmissä hienoutta käytetään määrittämään prosessin suorittimen prioriteetti. Pohjimmiltaan se on prioriteetin vastakohta. Joten mitä mukavampi prosessi on, th

Kuinka asentaa PM2 Ubuntu 16.04:ään

Kuinka asentaa PM2 Ubuntu 16.04:ään

PM2 on erittäin suosittu Node-prosessinhallinta, joka tekee NodeJS-sovellusten suorittamisesta helppoa. PM2 helpottaa sovellusten uudelleenkäynnistämistä, käynnistää kaatumisen automaattisesti uudelleen

How to Install OpenMeetings on Ubuntu 16.04

How to Install OpenMeetings on Ubuntu 16.04

Using a Different System? Apache OpenMeetings is an open source web conferencing application. It is written in Java and supports multiple database servers. I

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja