Meteor.js webalkalmazás beállítása MongoDB és Apache segítségével az Ubuntu 16.04 LTS rendszeren

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.


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket