So richten Sie eine Meteor.js-Webanwendung mit MongoDB und Apache unter Ubuntu 16.04 LTS ein

Meteor.js ist ein Open-Source-JavaScript-Framework, das speziell für Node.js geschrieben wurde. Es ist beliebt wegen seiner Ansicht, Webanwendungen in reinem JavaScript zu erstellen. Meteor enthält Front-End-JavaScript-Unterstützung, die im Webbrowser ausgeführt wird, sowie Back-End-JavaScript, das auf dem Hostserver ausgeführt wird. Es lässt sich sehr gut in Front-End-JavaScript-Frameworks wie React und Angular.js sowie in MongoDB, eine beliebte NoSQL-Datenbank, integrieren. Einige wichtige Gründe für die Wahl von Meteor.js sind:

  • Meteor.js ist ein Full-Stack-Framework. Damit erhalten Sie alles, was Sie jemals brauchen könnten: Datenbank, Frontend, Backend. Meteor macht einen großartigen Job, um alles zusammenzubinden.

  • Geschwindigkeit. Das intuitive Paketsystem von Meteor bietet Ihnen viele Tools, die Sie möglicherweise benötigen, um Ihre Anwendung zu perfektionieren.

  • Es wird von der Meteor Developer Group sowie von anderen Entwicklern, die es verwenden, gut unterstützt. Sie können Probleme leicht herausfinden und schnell beheben.

In diesem Tutorial werden wir die folgenden Ziele unter Ubuntu 16.04 erreichen:

  • Installieren Sie Node.jsunsere Javascript-Laufzeit.

  • Installieren Meteor.js.

  • Installieren Sie die MongoDBMeteor-Datenbank Ihrer Wahl.

  • Installieren Sie Apacheunseren Reverse-Proxy Ihrer Wahl und richten Sie gegebenenfalls unsere Domain ein.

  • Testen Sie unsere Website.

  • Richten Sie unsere Website für die Produktion ein.

Node.js installieren

Sie müssen zuerst Node.js, unseren JavaScript-Interpreter, und Meteors Kern installieren. Damit können wir Meteor und andere Node.js-Anwendungen ausführen, die wir möglicherweise in Zukunft haben werden. In dieser Situation installieren wir Node.js 8. Um den Download zu starten, führen Sie einfach Folgendes in Ihrem Terminal aus.

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

Warten Sie, bis der Download und die Installation abgeschlossen sind.

MongoDB installieren

Als nächstes installieren wir unsere Datenbank: MongoDB. MongoDB ist eine kostenlose Open-Source-NoSQL-Dokumentendatenbank und die Meteor-Datenbank Ihrer Wahl. Es verwendet ein JSON-ähnliches Format für seine Dokumente im Gegensatz zu strukturierten Tabellen in einer herkömmlichen SQL-Datenbank.

Importieren Sie den öffentlichen MongoDB-Schlüssel, der von APT(Advanced Packaging Terminal) verwendet wird. Dadurch kann APT das Paket überprüfen. in diesem Fall MongoDB.

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

Erstellen Sie die erforderliche Listendatei für Ubuntu 16.04.

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

Starten Sie die Installation von MongoDB und warten Sie, bis die Installation abgeschlossen ist.

sudo apt update && sudo apt install mongodb-org -y

Öffnen Sie den systemd-Dienst zur Bearbeitung.

sudo nano /etc/systemd/system/mongodb.service

Kopieren Sie Folgendes und fügen Sie es ein, um den systemd-Dienst abzuschließen.

[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

Verwenden Sie " Control-O" zum Speichern und " Control-X" zum Beenden.

Führen Sie den Dienst MongoDB systemd aus, indem Sie sudo systemctl start mongodbIhr Terminal eingeben .

Geben Sie Folgendes ein, um zu überprüfen, ob es erfolgreich gestartet wurde.

sudo systemctl status mongodb

Sie werden sehen, dass der Dienst aktiv ist.

Installieren und Einrichten von Apache2

Als nächstes werden wir Apache installieren. Apache ist eine kostenlose Open-Source-Webserver-Software, die auch als Reverse-Proxy fungiert. Dies wird in diesem Tutorial verwendet. Ein Reverse-Proxy wird benötigt, um unsere Meteor.js-Anwendung an zu binden port 80. Node.js verhindert, dass Anwendungen auf diesem Port ohne Root-Zugriff ausgeführt werden. Apache wird sowohl rootautomatisch ausgeführt als auch gebunden port 80, sodass wir uns keine Sorgen machen müssen, wenn es Zeit ist, unsere Website auszuführen.

Installieren Sie Apache.

sudo apt update && sudo apt install apache2

Um den Zugriff auf externe Webports wie z. B. zu ermöglichen port 80, müssen wir unsere Firewall für Apache konfigurieren. Wir tun dies durch UFW(Unkomplizierte Firewall).

sudo ufw allow 'Apache Full'

Dies ermöglicht den Zugriff auf das Apache FullProfil " ". Dies gibt uns den eingehenden Datenverkehr an port 80, auf dem unsere Anwendung ausgeführt wird.

Meteor.js installieren und unsere Basisanwendung erstellen

Jetzt installieren wir unser Webframework: Meteor.js. Wir werden ein einfaches Bash-Skript verwenden, das vom Meteor-Team bereitgestellt wird, um es zu installieren.

curl https://install.meteor.com/ | sh

Warten Sie, bis die Installation abgeschlossen ist. Grundsätzlich lädt das Skript Meteor von der offiziellen Website herunter und installiert es global, sodass wir es von überall aus verwenden können. Sobald es fertig ist, können wir unser Anwendungsverzeichnis erstellen. Meteor hat ein praktisches kleines Werkzeug, mit dem wir das tun können meteor create. Geben Sie Folgendes ein, um Ihr Anwendungsverzeichnis zu erstellen.

meteor create <projectname>

Der Ordner wird mit dem angegebenen Namen ( <projectname>) erstellt.

Einrichten unseres Apache-Reverse-Proxys

Nachdem wir unser Anwendungsverzeichnis eingerichtet haben, können wir mit dem Einrichten unseres Reverse-Proxys fortfahren. Apache verwendet ein Modul namens mod_proxy, das einen Proxy für Apache implementiert.

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

Dadurch wird das Modul installiert und für Apache verfügbar gemacht.

Als Nächstes müssen wir alle erforderlichen Module aktivieren, die Apache zum Ausführen benötigt. Wir werden dies mit a2enmodeinem Tool tun , das Module für Apache aktiviert. Mit diesen Modulen können wir den Reverse Proxy nutzen. Geben Sie diese Befehle einfach in Ihr Terminal ein.

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

Danach müssen wir den Start der Standard-Apache-Site deaktivieren, damit wir unsere eigene starten können. Andernfalls überschreibt die Standard-Apache-Anwendung unsere. Führen Sie einfach Folgendes aus, um die Standardwebsite zu deaktivieren.

sudo a2dissite 000-default

Jetzt erstellen wir unsere virtuelle Hostdatei. Öffnen Sie dazu einfach einen Texteditor.

sudo nano /etc/apache2/sites-available/<projectname>

Kopieren Sie Folgendes und fügen Sie es ein.

<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: Weist Apache an, eine Verbindung zu Port 80 herzustellen, was wir für unsere Webanwendung wünschen.

  • ProxyPass: Die IP-Adresse der Site, die Sie an den Reverse-Proxy weiterleiten möchten. Dies ist höchstwahrscheinlich die IP Ihres VPS

  • ServerName: Der Name Ihres Servers (der Standardname ist normalerweise localhost).

Wenn Sie alle erforderlichen Einstellungen vorgenommen haben, Control-Ospeichern Sie mit " Control-X" und beenden Sie mit " ".

Führen Sie die Site zum ersten Mal aus

Geben Sie Folgendes in das Projektverzeichnis ein, um zu testen und sicherzustellen, dass die Website ausgeführt wird.

meteor

Die folgende Ausgabe zeigt, dass Ihre Site erfolgreich gestartet wurde.

=> App running at: http://localhost:3000/

Beachten Sie, dass Meteor standardmäßig zuhört port 3000.

Einrichtung unserer Website für die Produktion

Um sicherzustellen, dass unsere App weiterhin ausgeführt werden kann, verwenden wir einen systemd-Dienst. Ähnlich wie oben bei MongoDB stellt dieser Systemdienst sicher, dass unsere Website bei jedem Systemstart gestartet wird und weiterhin ausgeführt wird. Außerdem wird unsere Anwendung neu gestartet, falls sie aus irgendeinem Grund abstürzt. Geben Sie Folgendes in Ihr Terminal ein, um unseren systemd-Service einzurichten.

sudo nano /etc/systemd/system/<projectname>.service

So soll Ihre Datei aussehen.

[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

Hinweis : Vergessen Sie nicht, durch projectnameden Namen des Projekts und yourusernamedurch den Benutzernamen des VPS zu ersetzen .

Hier sind einige wichtige Zeilen, die Sie beachten sollten.

  • WorkingDirectory: Das Verzeichnis Ihrer Anwendung.

  • Restart: Ob die Anwendung neu gestartet werden soll oder nicht, wird aus irgendeinem Grund gestoppt.

  • User: Dein Benutzername.

  • Environment=PWD: Identisch mit WorkingDirectory.

  • Environment=PORT: Der Port, auf dem Ihre Anwendung ausgeführt wird. Der Standardwert ist 3000.

Speichern und schließen Sie die Datei.

Jetzt werden wir den Dienst aktivieren und starten.

sudo systemctl enable <projectname>.service

Wo <projectname>ist der Name der von uns erstellten Servicedatei?

Dann werden wir den Dienst starten.

sudo systemctl start <projectname>.service

Ihre Bewerbung wird gestartet. Führen Sie einfach Folgendes aus, um zu überprüfen, ob es gestartet wurde.

sudo systemctl status <projectname>

Sie werden sehen, dass es aktiv ist, und überprüfen, ob der Dienst erfolgreich gestartet wurde.

Als nächstes werden wir unsere Website überprüfen. Navigieren Sie in dem Webbrowser Ihrer Wahl zu Ihrer IP-Adresse.

http://your-server-ip/

Sie sehen den Meteor-Beispielbildschirm, in dem Sie überprüfen, ob Sie alles richtig gemacht haben.

Verwaltung unserer Anwendung

Nachdem wir unsere Anwendung gestartet haben, müssen wir sie verwalten.

Starten Sie Ihre Anwendung neu

sudo systemctl restart <projectname>

Beenden der Anwendung

sudo systemctl stop <projectname>

Anzeigen des Anwendungsstatus

sudo systemctl status <projectname>

Anzeigen der Protokolle

journalctl -u <projectname>

Sie haben MongoDB, Apache und Meteor jetzt erfolgreich konfiguriert und einen Meteor.js-Webserver für die Produktion erstellt. Jetzt liegt es an Ihnen, Ihre Website im Frontend und im Backend zu gestalten. Sie haben Zugriff auf MongoDB, um alle benötigten Daten zu speichern, und auf Node.js, das eine Vielzahl von Modulen bietet, die über Node Package Manager ( NPM) verfügbar sind , um Ihr Backend weiter zu stärken. Weitere Dokumentationen finden Sie auf der Meteor-Website . Dort erfahren Sie, wie Sie Ihre Website nach Ihren Wünschen anpassen können. Sie können sich auch auf die MongoDB-Dokumentation beziehen , wenn Sie sich mit Datenbankoperationen befassen.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.