Ich bin ein wenig neugierig, ob Meteor Up (oder andere Meteor-App, die Prozesse wie Modulus implementiert) etwas Interessantes im Vergleich zum Kopieren über Ihre Meteor-Anwendung, Starten einer tmux-Sitzung und Ausführen von meteor
, um Ihre Anwendung auf Ihrem zu starten Server. Danke im Voraus!
Meteor Up und Modul scheinen node.js und Mongodb einfach auszuführen. Sie führen Ihre App aus, nachdem sie für die Produktion mit meteor build
verpackt wurde. Dies wird wahrscheinlich Ihrer App einen Vorteil in der Leistung geben.
Es ist möglich, einfach Meteor in einer tmux oder Bildschirm Sitzung auszuführen. Ich verwende meteor run --settings settings.json --production
, um Einstellungen zu übergeben und verwende auch den Produktionsmodus, der den Code minimiert. Sie können auch einen Proxy-Forwarder wie Nginx verwenden, um Anfragen an Port 80 (http) und 443 (https) weiterzuleiten.
Als Referenz hier ist meine Nginx config:
%Vor%Wenn Sie diese Methode verwenden, ist alles im Meteorcontainer enthalten und Sie haben den Vorteil, dass der Meteor für Änderungen usw. beobachtet wird. Es kann jedoch ein zusätzlicher Aufwand auf Ihrem Server entstehen. Ich bin mir nicht sicher, wieviel genau ich beide Wege nicht genug getestet habe.
Das einzige Problem, das ich mit dieser Methode gefunden habe, ist, dass es nicht einfach ist, beim Neustart automatisch alles zu automatisieren, wie zB tmux automatisch auszuführen und dann Meteor zu starten, im Gegensatz zu speziell entwickelten Tools wie Node.js Forever oder PM2 , die beim Neustart des Servers automatisch gestartet werden. Sie müssen sich also manuell beim Server anmelden und meteor
ausführen. Wenn Sie mit tmux oder screen einen einfachen Weg dazu finden, lassen Sie es mich wissen.
Bearbeiten:
Ich habe es geschafft, Meteor beim Systemstart mit der folgenden Zeile in der Datei /etc/rc.local
zu starten:
Dieser Befehl führt das Shell-Skript run_meteorapp.sh
in einer tmux-Sitzung aus, nachdem das System gebootet wurde. In der run_meteorapp.sh habe ich:
Wenn Sie sich die Meteor Up Github-Seite ansehen: Ссылка können Sie sehen, was es tut.
Wie:
Funktionen
Einzelbefehlsserver-Setup Einzelbefehlsbereitstellung Multi-Server Deployment Environmental Variables Management Unterstützung für settings.json Password oder Private Key (pem) basierte Server-Authentifizierung Zugriff, Protokolle vom Terminal (unterstützt Log Tailing) Support für mehrere Meteoreinsätze (experimentell)
Serverkonfiguration
Auto-Neustart, wenn die App abgestürzt ist (für immer) Auto-Start nach dem Serverneustart (mit Upstart). Stepdown User Privileges Zurück zum vorherige Version, wenn die Bereitstellung Secured MongoDB fehlgeschlagen ist Installation (optional) Vorinstalliertes PhantomJS (optional)
Also ja ... es macht viel mehr ...
Mupx macht noch mehr. Es nutzt docker aus. Es ist die Entwicklungsversion, aber ich habe festgestellt, dass es zuverlässiger ist als mup nach der Aktualisierung von Meteor auf 1.2
Weitere Informationen finden Sie im Github Repo: Ссылка
Ich habe mupx für die Bereitstellung in Digital Ocean verwendet. Nachdem Sie die mup.json-Datei eingerichtet haben, können Sie die App nicht nur bereitstellen, sondern Sie können den Code auf dem Server auch einfach über die CLI aktualisieren. Es gibt auch ein paar andere Befehle, die hilfreich sind.
mupx reconfig
- reconfigs App mit Umgebungsvariablen
mupx stop
- stoppt App duh
mupx start
- ...
mupx restart
- ...
mupx logs [-f --tail=100]
- this ruft Protokolle ab, die sehr hilfreich sein können, wenn Sie auf Bereitstellungsfehler stoßen.
Es macht es sicherlich leicht, Ihre App zu aktualisieren, und ich war ziemlich glücklich damit.
Mupx verwendet MeteorD (Docker Runtime für Meteor Apps) und da es docker verwendet, kann es wirklich nützlich sein, mit ssh auf die MongoDB-Shell zuzugreifen:
%Vor%Probieren Sie es aus!
Tags und Links meteor meteor-up modulus.io