Node telepítése
Az Nginx telepítése
Keystone projektünk inicializálása
Adatbázisunk inicializálása
A PM2 telepítése
Alkalmazás futtatása/kezelése a PM2-n
A fordított proxy beállítása
Ebben az oktatóanyagban egy webszervert állítunk be fordított proxyval. Az általunk használt CMS a Keystone.js, egy jól ismert, Express.js-en alapuló webalkalmazás-keretrendszer. Az általunk használt fordított proxy az Nginx, amely egy ingyenes és nyílt forráskódú fordított proxy, valamint egy HTTP-kiszolgáló. Az általunk használt adatbázis a MongoDB, egy NoSQL dokumentumadatbázis. Ehhez be kell állítani egy domaint rekordokkal. Ha nem rendelkezik ezzel a készlettel, gondoskodjon róla, és térjen vissza ehhez az oktatóanyaghoz.
Node telepítése
Először telepítjük a Node.js-t, amely a Chrome V8 Javascript motoron alapuló Javascript-értelmezés.
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
Az Nginx telepítése
Ezután telepítjük az Nginx-et, a fordított proxyt.
sudo apt update
sudo apt install nginx
Ez frissíti a csomaglistákat, és telepíti az Nginx-et. A telepítés után beállítjuk a csomóponti projektünket.
Keystone projektünk inicializálása
Hozd létre a csomópont-projektünket. Ehhez egyszerűen hozzon létre egy új mappát.
mkdir website
Ezután létrehozzuk a package.jsonfájlunkat. Ehhez egyszerűen futtassa npm inita terminálját, töltse ki a mezőket, és yesa megerősítéshez válaszoljon " ". A package.jsonfájl létrehozása után telepítjük a következő csomópont modulokat.
sudo npm install -g generator-keystone
sudo npm install -g yo
Miután befejezte a letöltést, futtassa a következőt.
yo keystone
Töltse ki a kötelező mezőket. Kérni fogja a project name, a template engine, emaila vezérlőpulthoz stb. Ha nem tudja, mit válasszon, akkor az alapértelmezett beállítások rendben lesznek. Miután konfigurálta a trapéztorzítás beállítását, node keystoneaz alkalmazás elindításához gépelve tesztelhetjük, hogy fut-e a szerverünk . Alapértelmezés szerint az alkalmazás a következőn fog futni: localhost, porton 3000. Vegye figyelembe, hogy ha nincs telepítve a MongoDB, akkor az adatbázis nem lesz azonnal elérhető az Ön számára. Az oktatóanyagból később megtudhatja, hogyan telepítheti.
Íme a Keystone.js alapvető könyvtárelrendezése:
/lib - Itt tárolhatja egyéni könyvtárait és egyéb kódjait.
/models- Itt tárolhatja az alkalmazás adatbázis-modelljeit. A KeystoneJS a MongoDB-t használja adatbázis-szolgáltatóként.
/public - Ez az a hely, ahol a statikus fájlok (CSS, JS, képek és így tovább) tárolódnak.
/routes/api - Itt lesznek tárolva az alkalmazás API-vezérlői.
/routes.views - Az alkalmazásnézet-vezérlők itt lesznek tárolva.
/templates - Ez az a hely, ahol az alkalmazás összes sablonfájlja tárolódik.
/updates - Ez az a hely, ahol a migrációs szkriptek tárolódnak.
package.json - Ez az Ön npm konfigurációs fájlja, amelyet a generátor generált nekünk.
keystone.js - A fő indítófájlunk, ezt a weboldal indításakor futtatjuk.
Adatbázisunk inicializálása
Mint korábban említettük, az általunk használt adatbázisunk a MongoDB, amely egy megbízható NoSQL, dokumentum-orientált adatbázis. Ha történetesen már telepítette a MongoDB-t, kihagyhatja ezt a részt. Ha nem, akkor a következőképpen telepítheti az Ubuntu 16.04-re.
Importálja a mongoDB csomaghoz használt nyilvános kulcsot.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Hozza létre a csomag telepítéséhez használt listafájlt.
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
Frissítse csomaglistáit a segítségével apt.
sudo apt update
Végül telepítse a MongoDB-t.
sudo apt install mongodb-org -y
Amikor a telepítés befejeződött, indítsa el a MongoDB-t.
sudo service mongod start
Ez elindítja a MongoDB folyamatot a porton 27017.
A MongoDB-t az egész alkalmazásban fogják használni, és a modelljeinkhez használt információk, például egy Usermodell tárolására használják . A Keystone a választott adatbázisaként használja, és jelenleg nem használhat más adatbázis-szállítókat.
A PM2 telepítése
Most itt az ideje telepíteni a PM2-t (Process Manager 2.) A PM2 egy folyamatkezelő Node.js alkalmazásokhoz, npm modul formájában. Egyszerű módot biztosít az alkalmazások kezelésére és a háttérben való futtatására. Mivel NPM-ben van, csak a következőt kell tennünk a telepítéséhez.
sudo npm install pm2 -g
Ez azt mondja az npm-nek, hogy globálisan telepítse, így a rendszerünkben bárhol használhatjuk.
Alkalmazás futtatása/kezelése a PM2-n
Korábban webalkalmazásunkat a következővel futtattuk node keystone. A PM2-vel kicsit más a helyzet. Most futtatjuk a csomópont-alkalmazásunkat a következőkkel.
pm2 start keystone.js
Ezzel hozzáadjuk a PM2 alkalmazásunkat a folyamatlistánkhoz, és megjelenik egy kis doboz, amelyből láthatja, hogy valóban online van. Figyelje idmeg a folyamathoz tartozó dobozt . Tartsa ezt közel, mert a későbbiekben sok utalást fogunk tenni erre.
Az alkalmazás naplóinak megtekintéséhez.
pm2 logs [id]
Például, pm2 logs 0ha ez az első PM2 alkalmazása.
A webalkalmazás bármikori leállításához.
pm2 stop [id]
Az alkalmazás teljes törléséhez.
pm2 delete [id]
A PM2-nek még egy felügyeleti műszerfala is van, ha szeretné látni az alkalmazásának alapvető statisztikáit, és ezzel elérheti.
pm2 monit
Ez megmutat néhány alapvető információt, például a RAM-használatot, a CPU-használatot és az üzemidőt.
A PM2 nagyszerű funkciója a watching. Lényegében a figyelés az, amikor a PM2 automatikusan észleli a változásokat a kezdőfájllal ugyanabban a könyvtárban lévő fájlokban, és automatikusan újraindítja az alkalmazást. Az engedélyezéséhez egyszerűen indítsa újra az alkalmazást, de adjon át neki egy figyelőjelzőt.
pm2 restart [id] --watch
A figyelés letiltásához az engedélyezés után egyszerűen futtassa újra ugyanazt a parancsot, és a figyelés le lesz tiltva.
Ebben az oktatóanyagban abbahagyjuk a figyelést.
A fordított proxy beállítása
Győződjön meg arról, hogy az Nginx telepítve van. Ha valamilyen okból nem, tekintse meg a fenti lépéseket.
Módosítsa a tűzfal beállításait. Az Ubuntu ufwa hivatalos tűzfal. Alapértelmezés szerint a kapcsolatok a porton blokkolva vannak 80. Kivételt kell hozzáadnunk az Nginx on porthoz 80, amelyen webalkalmazásunk futni fog.
sudo ufw allow 'Nginx HTTP'
Ellenőrizze, hogy az Nginx szerver fut-e.
systemctl status nginx
A Activeszakasz alatt, ha a ikont látod active (running), akkor minden készen áll. Ha nem, akkor megpróbálhatja újraindítani a szolgáltatást.
systemctl restart nginx
Törölje az alapértelmezett Nginx konfigurációs fájlt.
sudo rm /etc/nginx/sites-available/default
Hozzon létre egy újat, és egyszerűen hívja fel node.
sudo nano /etc/nginx/sites-available/node
Illessze be a következőt a fájlba, és cserélje example.comki a webhely domainjére.
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";
}
}
Vegye figyelembe, hogy a proxy_passKeystone alkalmazásunk helyi IP-címét jelöli, amely localhosta porton van 3000.
listen 80az a port, amelyre az alkalmazást irányítani szeretnénk, ami jelen esetben a port 80.
Ezután létre kell hoznunk egy szimbolikus hivatkozást a mappához sites-enabled. A sites-enabledés sites-availablea közötti különbség az , hogy sites-enabledvalójában az Nginx tölti be.
sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/node
Most a konfigurációs fájlja sites-availablekészen áll a használatra, és innen töltődik be sites-enabled. A konfiguráció alkalmazásához, hogy az életbe lépjen, egyszerűen indítsa újra az Nginxet.
sudo systemctl restart nginx
Végül indítsa újra a PM2 alkalmazást
pm2 restart [id]
Most egy böngészőben navigálhat a domainjére, és megjelenik egy Welcome to Keystoneképernyő, amelyen egy panel található a bejelentkezéshez.
Ha látja, akkor sikeresen beállította a Node.js éles webkiszolgálót. Ha nem, akkor lehet, hogy egy lépést rosszul hajtott végre, és érdemes visszamenni, és gondosan követni az egyes lépéseket.
Ha többet szeretne megtudni az Nginxről, látogassa meg webhelyüket .
Remélem, hogy tetszett ez az oktatóanyag, és remélem, hogy ez segített beállítani saját webszerverét a Vultr VPS-en való termeléshez.