Suche…
Upstart-Service
In diesem Bereitstellungshandbuch wird davon ausgegangen, dass Sie einen Ubuntu-Server verwenden und sich entweder selbst hosten oder einen Infrastructure as a Service-Anbieter (IaaS) wie Amazon Web Services oder Rackspace verwenden. Auf Ihrem Ubuntu-Server muss ein Daemon ausgeführt werden, um andere Apps zu starten, für die wir den Upstart-Dienst empfehlen. Weitere Informationen zu Upstart finden Sie unter den folgenden Links:
Upstart - Erste Schritte
Erste Schritte mit Upstart-Skripts unter Ubuntu
UbuntuBootupHowTo
Upstart Intro, Kochbuch und Best Practices
Führen Sie NodeJS As a Service auf Ubuntu Karmic aus
Dateien auf den Server kopieren und dann erstellen
Ein bevorzugter Ansatz für die Bereitstellung auf einem Server ist die Verwendung von Git oder GitHub. Dazu müssen Sie sich auf Ihrem Server anmelden, in das Verzeichnis wechseln, von dem aus Sie Ihre App ausführen möchten, und dann Ihre Dateien direkt aus GitHub klonen. Sie erstellen dann Ihre App auf dem Server. Dieser Ansatz stellt sicher, dass plattformspezifische Dateien korrekt erstellt werden, erfordert jedoch die Installation von Meteor auf dem Server (mehr als 500 MB) und kann dazu führen, dass in der Produktion etwas andere Builds entstehen, wenn sich die Server etwas unterscheiden.
cd /var/www
sudo git clone http://github.com/myaccount/myapp.git
cd /var/www/myapp
meteor build --directory ../myapp-production
sudo service myapp restart
Bundle, dann auf Server kopieren
Alternativ können Sie Ihre Anwendung erstellen und anschließend bereitstellen.
cd myapp
meteor build --directory ../output
cd ..
scp output -r username@destination_host:/var/www/myapp-production
Schreiben Sie Ihr Upstart-Skript
Sie benötigen ein Upstart-Skript in Ihrem /etc/init/ directory
. .conf
es mit dem Namen Ihrer App und enden mit .conf
, z. B. /etc/init/myapp.conf
. Das grundlegende Upstart-Skript sieht in etwa so aus:
## /etc/init/myapp.conf
description "myapp.mydomain.com"
author "[email protected]"
# Automatically Run on Startup
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
export HOME="/root"
export MONGO_URL='mongodb://myapp.compose.io:27017/meteor'
export ROOT_URL='http://myapp.mydomain.com'
export PORT='80'
exec /usr/local/bin/node /var/www/myapp/main.js >> /var/log/myapp.log 2>&1
end script
Upstart-Skript für Replikatsätze
Wenn Sie einen Replikatsatz ausführen oder Ihre Datenbank abteilen müssen, benötigen Sie ein Upstart-Skript, das ungefähr so aussieht:
# /etc/init/myapp.conf
description "myapp.mydomain.com"
author "[email protected]"
# used to be: start on startup
# until we found some mounts weren't ready yet while booting:
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
# upstart likes the $HOME variable to be specified
export HOME="/root"
# our example assumes you're using a replica set and/or oplog integreation
export MONGO_URL='mongodb://mongo-a,mongo-b,mongo-c:27017/?replicaSet=meteor'
# root_url and port are the other two important environment variables to set
export ROOT_URL='http://myapp.mydomain.com'
export PORT='80'
exec /usr/local/bin/node /var/www/production/main.js >> /var/log/node.log 2>&1
end script
Ausführen Ihres Upstart-Skripts
Zum Schluss müssen Sie den Upstart-Daemon starten und Ihre App als Dienst initialisieren.
sudo service myapp start
Einrichten eines Servers zum Hosten mehrerer Meteor-Apps
https://www.phusionpassenger.com/
https://github.com/phusion/passenger
https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Meteor-tutorial#wiki-installing