Asenna Keystone.js-palvelin käyttämällä Nginx Reverse Proxya Ubuntu 16.04:ssä

Tässä opetusohjelmassa määritämme verkkopalvelimen käänteisellä välityspalvelimella. Käyttämämme sisällönhallintajärjestelmä on Keystone.js, tunnettu verkkosovelluskehys, joka perustuu Express.js:ään. Käänteinen välityspalvelin, jota käytämme, on Nginx, joka on ilmainen ja avoimen lähdekoodin käänteinen välityspalvelin sekä HTTP-palvelin. Käyttämämme tietokanta on MongoDB, NoSQL-dokumenttitietokanta. Tämä edellyttää, että sinulla on verkkotunnus, johon on määritetty tietueet. Jos sinulla ei ole kyseistä sarjaa, mene eteenpäin ja huolehdi siitä ja palaa tähän opetusohjelmaan.

Asennetaan Node

Ensin asennamme Node.js:n, joka on Chrome V8 Javascript -moottoriin perustuva Javascript-tulkki.

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

Nginxin asennus

Seuraavaksi asennamme Nginxin, käänteisen välityspalvelimemme.

sudo apt update
sudo apt install nginx

Tämä päivittää pakettiluettelot ja asentaa Nginxin. Kun asennus on valmis, määritämme solmuprojektimme.

Keystone-projektimme alustaminen

Luo solmuprojektimme. Voit tehdä tämän luomalla uuden kansion.

mkdir website

Sitten luomme package.jsontiedostomme. Voit tehdä tämän suorittamalla npm initterminaalin, täyttämällä kentät ja yesvahvistamalla vastaamalla " ". Kun olet luonut package.jsontiedoston, asennamme seuraavat solmumoduulit.

sudo npm install -g generator-keystone
sudo npm install -g yo

Kun ne on ladattu, suorita seuraava.

yo keystone

Täytä pakolliset kentät. Se kysyy sinulta project name, template engine, emailohjauspaneelia ja niin edelleen. Jos et tiedä mitä valita, oletusasetukset ovat kunnossa. Kun olet määrittänyt Keystone-asetuksesi, voimme testata, onko palvelimemme käynnissä kirjoittamalla node keystonekäynnistääksesi sovelluksesi. Oletuksena sovelluksesi on käynnissä localhostportissa 3000. Huomaa, että jos sinulla ei ole MongoDB:tä asennettuna, tietokanta ei ole heti käytettävissäsi. Voit oppia asentamaan sen myöhemmin opetusohjelmassa.

Tässä on Keystone.js:n perushakemistoasettelu:

  • /lib - Tässä tallennat mukautetut kirjastot ja muut koodit.

  • /models- Tässä tallennat sovelluksesi tietokantamallit. KeystoneJS käyttää MongoDB:tä tietokantatoimittajana.

  • /public - Tänne staattiset tiedostosi (CSS, JS, kuvat ja niin edelleen) tallennetaan.

  • /routes/api - Tänne tallennetaan sovelluksesi API-ohjaimet.

  • /routes.views - Sovellusnäkymän ohjaimet tallennetaan tänne.

  • /templates - Tänne tallennetaan kaikki sovelluksesi mallitiedostot.

  • /updates - Tänne siirtoskriptit tallennetaan.

  • package.json - Tämä on npm-määritystiedostosi, jonka generaattori loi meille.

  • keystone.js - Pääaloitustiedostomme, suoritamme tämän, kun käynnistämme verkkosivuston.

Tietokantaamme alustetaan

Kuten aiemmin mainittiin, käyttämämme tietokanta on MongoDB, joka on luotettava NoSQL-dokumenttipohjainen tietokanta. Jos sinulla on jo MongoDB asennettuna, voit ohittaa tämän osion. Jos ei, niin asenna se Ubuntu 16.04:ään seuraavasti.

Tuo mongoDB-paketin julkinen avain.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Luo paketin asentamiseen käytetty luettelotiedosto.

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Päivitä pakettiluettelosi käyttämällä apt.

sudo apt update

Asenna lopuksi MongoDB.

sudo apt install mongodb-org -y

Kun tämä asennus on valmis, käynnistä MongoDB.

sudo service mongod start

Tämä käynnistää MongoDB-prosessin portissa 27017.

MongoDB:tä käytetään koko sovelluksessa ja sitä hyödynnetään malleissamme käyttämämme tiedon, esimerkiksi Usermallin , tallentamiseen . Keystone käyttää sitä tietokantaansa, etkä tällä hetkellä voi käyttää muita tietokantatoimittajia.

PM2:n asennus

Nyt on aika asentaa PM2 (Process Manager 2.) PM2 on prosessinhallinta Node.js-sovelluksille npm-moduulin muodossa. Se tarjoaa helpon tavan hallita sovelluksiasi ja suorittaa niitä taustalla. Koska se on NPM:ssä, meidän tarvitsee vain asentaa se suorittaa seuraava.

sudo npm install pm2 -g

Tämä käskee npm:n asentamaan sen maailmanlaajuisesti, jotta voimme käyttää sitä missä tahansa järjestelmässämme.

Sovelluksen suorittaminen/hallinta PM2:lla

Aiemmin suoritimme verkkosovelluksemme kanssa node keystone. PM2:lla tilanne on hieman erilainen. Suoritamme nyt solmusovelluksemme seuraavalla.

pm2 start keystone.js

Tämä lisää PM2-sovelluksemme prosessiluetteloomme, ja pieni laatikko tulee näkyviin, jotta voit nähdä, että se on todellakin online-tilassa. Huomaa idprosessillesi merkitty laatikko . Pidä tämä lähellä, sillä tulemme tekemään tähän monia viittauksia myöhemmin.

Nähdäksesi sovelluksesi lokit.

pm2 logs [id]

Jos pm2 logs 0tämä on esimerkiksi ensimmäinen PM2-sovelluksesi.

Pysäytä verkkosovelluksesi milloin tahansa.

pm2 stop [id]

Poistaaksesi sovelluksesi kokonaan.

pm2 delete [id]

PM2:ssa on jopa valvontakojelauta, jos haluat nähdä joitain sovelluksesi perustilastoja, ja voit käyttää sitä tällä.

pm2 monit

Tämä näyttää joitain perustietoja, kuten RAM-muistin, suorittimen käytön ja käytettävyyden.

PM2:n hieno ominaisuus on watching. Pohjimmiltaan katselu on sitä, kun PM2 havaitsee automaattisesti muutokset mihin tahansa tiedostoon samassa hakemistossa kuin aloitustiedostosi, ja se käynnistää sovelluksesi automaattisesti uudelleen. Ota se käyttöön käynnistämällä sovellus uudelleen, mutta antamalla sille kellomerkki.

pm2 restart [id] --watch

Jos haluat poistaa katselun käytöstä sen jälkeen, kun se on otettu käyttöön, suorita sama komento uudelleen, jolloin katselu poistetaan käytöstä.

Tässä opetusohjelmassa jätämme katselun pois.

Käänteisen välityspalvelimen määrittäminen

Varmista, että Nginx on asennettu. Jos jostain syystä ei ole, katso yllä olevat vaiheet.

Säädä palomuuriasetuksiasi. Ubuntussa se ufwon virallinen palomuuri. Oletuksena yhteydet estetään portissa 80. Meidän on lisättävä poikkeus Nginx on portille 80, jolla verkkosovelluksemme toimii.

sudo ufw allow 'Nginx HTTP'

Varmista, että Nginx-palvelimesi on käynnissä.

systemctl status nginx

Alle Activeosio, jos näet active (running), niin te kaikki asetettu. Jos ei, voit yrittää käynnistää palvelun uudelleen.

systemctl restart nginx

Poista oletusarvoinen Nginx-määritystiedosto.

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

Luo uusi ja soita sille node.

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

Liitä seuraavat tiedot tiedostoon ja korvaa se example.comverkkosivustosi verkkotunnuksella.

listen 80;

server_name example.com;

    location / {

        proxy_set_header   X-Forwarded-For $remote_addr;

        proxy_set_header   Host $http_host;

        proxy_pass         "http://127.0.0.1:3000";
    }
}

Huomaa, että proxy_passtarkoittaa IP-osoitetta, jolla Keystone-sovelluksemme toimii paikallisesti, joka on localhostportissa 3000. listen 80on portti, johon haluamme sovelluksen ohjattavan, mikä tässä tapauksessa on portti 80.

Sitten meidän on luotava symlink tai symbolinen linkki kansioon nimeltä sites-enabled. Ero sites-enabledja sites-availableon se, että sites-enabledon todella ladataan nginx.

sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node

Nyt määritystiedostosi sites-availableon valmis käytettäväksi ja se ladataan osoitteesta sites-enabled. Ota määritys käyttöön, jotta se astuu voimaan, käynnistämällä Nginx uudelleen.

sudo systemctl restart nginx

Lopuksi käynnistä PM2-sovellus uudelleen

pm2 restart [id]

Nyt voit navigoida verkkotunnukseesi selaimessa, ja näet Welcome to Keystonenäytön, jossa on paneeli, josta voit kirjautua sisään.

Jos näet sen, olet onnistuneesti määrittänyt Node.js-tuotantoverkkopalvelimen. Jos ei, olet saattanut tehdä jonkin vaiheen väärin, ja saatat haluta palata ja seurata jokaista vaihetta huolellisesti.

Voit oppia lisää Nginxistä vierailemalla heidän verkkosivustollaan .

Toivottavasti pidit tästä opetusohjelmasta, ja toivon, että tämä on auttanut sinua määrittämään oman verkkopalvelimesi tuotantoa varten Vultr VPS:ssäsi.

Jätä kommentti

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.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

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

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.

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