A Node.js telepítése
A MongoDB telepítése
Az Apache2 telepítése és beállítása
A Meteor.js telepítése és alapalkalmazásunk létrehozása
Az Apache fordított proxy beállítása
Az oldal első futtatása
Weboldalunk létrehozása a gyártáshoz
Alkalmazásunk kezelése
A Meteor.js egy nyílt forráskódú JavaScript-keretrendszer, amely a Node.js-t szem előtt tartva készült. Népszerű, mert a webalkalmazásokat tiszta JavaScript-ben építi fel. A Meteor magában foglalja a webböngészőben futó előtérbeli JavaScript-támogatást, valamint a háttér-JavaScriptet, amely a gazdagépen futna. Nagyon jól integrálható az elülső JavaScript-keretrendszerekkel, mint például a React és az Angular.js, valamint a MongoDB, egy népszerű NoSQL-adatbázis. Néhány fontos indok a Meteor.js mellett a következők:
A Meteor.js egy teljes verem keretrendszer. Így vele mindent megkap, amire szüksége lehet: adatbázis, előtér, háttérrendszer. A Meteor elképesztő munkát végez, hogy mindezt összekapcsolja.
Sebesség. A Meteor intuitív csomagrendszere számos eszközt kínál, amelyekre szükség lehet az alkalmazás tökéletesítéséhez.
Jó támogatást nyújt a Meteor Developer Group, valamint a többi fejlesztő, akik használják. Könnyen kitalálhatja az esetleges problémákat, és gyorsan megoldhatja azokat.
Ebben az oktatóanyagban a következő célokat fogjuk elérni az Ubuntu 16.04-en:
Telepítse Node.jsa Javascript futási környezetünket.
Telepítse Meteor.js.
Telepítse a MongoDBMeteor választott adatbázisát.
Telepítse Apachea választott fordított proxyt, és adott esetben állítsa be a domainünket.
Tesztelje weboldalunkat.
Állítsa be weboldalunkat a gyártáshoz.
A Node.js telepítése
Először telepítenie kell a Node.js-t, amely a JavaScript értelmezőnk és a Meteor magja. Lehetővé teszi a Meteor és más Node.js alkalmazások futtatását a jövőben. Ebben a helyzetben a Node.js 8-at telepítjük. A letöltés elindításához egyszerűen futtassa a következőt a terminálján.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Várja meg, amíg a letöltés és a telepítés befejeződik.
A MongoDB telepítése
Ezután telepítjük adatbázisunkat: MongoDB. A MongoDB egy ingyenes, nyílt forráskódú NoSQL-dokumentum-adatbázis, és a Meteor választott adatbázisa. JSON-szerű formátumot használ a dokumentumaihoz, szemben a hagyományos SQL-adatbázis strukturált tábláival.
Importálja az APT(Advanced Packaging Terminal) által használt MongoDB nyilvános kulcsot . Ez lehetővé teszi az APT számára a csomag ellenőrzését; ebben az esetben a MongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Hozza létre a szükséges listafájlt az Ubuntu 16.04-hez.
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
Indítsa el a MongoDB telepítését, és várja meg, amíg a telepítés befejeződik.
sudo apt update && sudo apt install mongodb-org -y
Nyissa meg a systemd szolgáltatást szerkesztéshez.
sudo nano /etc/systemd/system/mongodb.service
A rendszerszolgáltatás befejezéséhez másolja és illessze be a következőket.
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Használja a " Control-O" gombot a mentéshez és a " Control-X" gombot a kilépéshez.
Futtassa a MongoDB systemd szolgáltatást sudo systemctl start mongodba terminál beírásával .
A sikeres indulás ellenőrzéséhez írja be a következőt.
sudo systemctl status mongodb
Látni fogja, hogy a szolgáltatás aktív.
Az Apache2 telepítése és beállítása
Ezután telepítjük az Apache-t. Az Apache egy ingyenes és nyílt forráskódú webkiszolgáló szoftver, amely fordított proxyként is működik, és ezt fogjuk használni ebben az oktatóanyagban. Fordított proxyra van szükség ahhoz, hogy a Meteor.js alkalmazásunkat a következőhöz kötjük port 80. A Node.js blokkolja az alkalmazások futtatását azon a porton root hozzáférés nélkül. Az Apache éppolyan rootautomatikusan fut, mint ahogy kötődik a -hoz port 80, így nem kell aggódnunk miatta, amikor eljön a webhelyünk futtatásának ideje.
Telepítse az Apache-t.
sudo apt update && sudo apt install apache2
Annak érdekében, hogy hozzáférést biztosíthassunk külső webportokhoz, például port 80, be kell állítanunk a tűzfalunkat az Apache számára. Ezt az UFWegyszerű tűzfalon keresztül végezzük .
sudo ufw allow 'Apache Full'
Ez lehetővé teszi a hozzáférést a " Apache Full" profilhoz. Ez adja a bejövő forgalmat a címre port 80, amelyen az alkalmazásunk futni fog.
A Meteor.js telepítése és alapalkalmazásunk létrehozása
Most telepítjük webes keretrendszerünket: Meteor.js. A telepítéshez a Meteor csapata által biztosított egyszerű bash szkriptet fogjuk használni.
curl https://install.meteor.com/ | sh
Várja meg, amíg a telepítés befejeződik. A szkript alapvetően az, hogy letölti a Meteor-t a hivatalos weboldalról, és globálisan telepíti, így bárhonnan használhatjuk. Ha elkészült, létrehozhatjuk az alkalmazáskönyvtárunkat. A Meteornak van egy praktikus kis eszköze, amellyel ezt megtehetjük, az ún meteor create. Az alkalmazáskönyvtár létrehozásához írja be a következőt.
meteor create <projectname>
A mappa a megadott néven ( <projectname>) jön létre .
Az Apache fordított proxy beállítása
Most, hogy beállítottuk az alkalmazáskönyvtárunkat, folytathatjuk a fordított proxy beállítását. Az Apache egy nevű modult használ mod_proxy, amely proxyt valósít meg az Apache számára.
sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y
Ez telepíti a modult, és elérhetővé teszi az Apache számára.
Ezután engedélyeznünk kell az Apache futtatásához szükséges összes szükséges modult. Ezt a2enmodaz Apache modulokat engedélyező eszközzel fogjuk megtenni . Ezek a modulok lehetővé teszik számunkra, hogy kihasználjuk a fordított proxy előnyeit. Egyszerűen írja be ezeket a parancsokat a termináljába.
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
Ezt követően le kell tiltanunk az alapértelmezett Apache webhely indulását, hogy elindíthassuk a sajátunkat. Ellenkező esetben az alapértelmezett Apache alkalmazás felülírja a miénket. Az alapértelmezett webhely letiltásához egyszerűen futtassa a következőt.
sudo a2dissite 000-default
Most létrehozzuk a virtuális gazdagép fájlunkat. Ehhez nyissa meg a szövegszerkesztőt.
sudo nano /etc/apache2/sites-available/<projectname>
Másolja és illessze be a következőket.
<VirtualHost *:80>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
# Servers to proxy the connection, or
# List of application servers Usage
ProxyPass / http://0.0.0.0:3000/
ServerName localhost
</VirtualHost>
VirtualHost *:80: Azt mondja az Apache-nak, hogy csatlakozzon a 80-as porthoz, amit a webalkalmazásunkhoz szeretnénk.
ProxyPass: Annak a webhelynek az IP-címe, amelyet a fordított proxyra kíván továbbítani. Ez valószínűleg a VPS IP-je
ServerName: A szerver neve (az alapértelmezett név általában localhost).
Ha végzett a szükséges beállítások konfigurálásával, használja a " Control-O" gombot a mentéshez és a " Control-X" gombot a kilépéshez.
Az oldal első futtatása
A webhely működésének teszteléséhez és ellenőrzéséhez írja be a következőt a projektkönyvtárba.
meteor
A következő kimenetet fogja látni, amely azt mutatja, hogy webhelye sikeresen elindult.
=> App running at: http://localhost:3000/
Vegye figyelembe, hogy a Meteor alapértelmezés szerint a következőt figyeli port 3000.
Weboldalunk létrehozása a gyártáshoz
Annak érdekében, hogy alkalmazásunk továbbra is futni tudjon, rendszeres szolgáltatást fogunk használni. Hasonlóan ahhoz, amit fent tettünk a MongoDB-vel, ez a rendszerszolgáltatás gondoskodik arról, hogy webhelyünk minden alkalommal elinduljon, és továbbra is működjön. Ezenkívül újraindítja az alkalmazásunkat, ha bármilyen okból összeomlik. Rendszerszolgáltatásunk beállításához írja be a következőt a termináljába.
sudo nano /etc/systemd/system/<projectname>.service
Így szeretné kinézni a fájlt.
[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
Megjegyzés : Ne felejtse el lecserélni projectnamea projekt nevére és yourusernamea VPS felhasználónevére.
Íme néhány kulcsfontosságú vonal, amelyet szem előtt kell tartania.
WorkingDirectory: Az alkalmazás könyvtára.
Restart: Akár újra kell indítani, akár nem, az alkalmazás bármilyen okból leáll.
User: Felhasználóneved.
Environment=PWD: Azonos a WorkingDirectory.
Environment=PORT: Az a port, amelyen az alkalmazás fut. Az alapértelmezett a 3000.
Mentse és zárja be a fájlt.
Most engedélyezzük és elindítjuk a szolgáltatást.
sudo systemctl enable <projectname>.service
Hol <projectname>található az általunk létrehozott szolgáltatásfájl neve.
Ezután elindítjuk a szolgáltatást.
sudo systemctl start <projectname>.service
Elindul az alkalmazás. Annak ellenőrzéséhez, hogy elindult-e, futtassa a következőt.
sudo systemctl status <projectname>
Látni fogja, hogy aktív, és ellenőrzi, hogy a szolgáltatás sikeresen elindult-e.
Ezután megnézzük weboldalunkat. A választott webböngészőben keresse meg IP-címét.
http://your-server-ip/
Megjelenik a Meteor mintaképernyő, amely ellenőrzi, hogy mindent helyesen tett-e meg.
Alkalmazásunk kezelése
Most, hogy elindítottuk az alkalmazásunkat, kezelnünk kell azt.
Az alkalmazás újraindítása
sudo systemctl restart <projectname>
Az alkalmazás leállítása
sudo systemctl stop <projectname>
Az alkalmazás állapotának megtekintése
sudo systemctl status <projectname>
A naplók megtekintése
journalctl -u <projectname>
Sikeresen konfigurálta a MongoDB-t, az Apache-t és a Meteort, és létrehozta a Meteor.js webszervert az éles használatra. Most a többi rajtad múlik, hogy megtervezed a webhelyedet az elülső és a hátsó oldalon. Hozzáférhet a MongoDB-hez, hogy tárolja a szükséges adatokat, és a Node.js-hez, amely a Node Package Manageren ( NPM) keresztül elérhető modulok széles választékát kínálja a háttérrendszer további megerősítéséhez. További dokumentációért látogasson el a Meteor oldalára , ahol további ismereteket szerezhet arról, hogyan szabhatja saját ízlése szerint webhelyét. Ha adatbázis-műveletekkel foglalkozik, hivatkozhat a MongoDB dokumentációra is.