Recherche…
Service de démarrage
Ce guide de déploiement suppose que vous utilisez un serveur Ubuntu et que vous utilisez soit un hébergement autonome, soit un fournisseur IaaS (Infrastructure as a Service), tel que Amazon Web Services ou Rackspace. Votre serveur Ubuntu doit exécuter un démon pour lancer d'autres applications, pour lesquelles nous recommandons le service Upstart. Vous pouvez trouver plus sur Upstart avec les liens suivants:
Upstart - Pour commencer
Premiers pas avec les scripts de démarrage sur Ubuntu
UbuntuBootupHowTo
Intro, livre de recettes et meilleures pratiques
Exécuter NodeJS en tant que service sur Ubuntu Karmic
Copier des fichiers sur votre serveur puis générer
Une approche privilégiée du déploiement sur un serveur consiste à utiliser Git ou GitHub. Cela implique essentiellement de se connecter à votre serveur, en allant dans le répertoire à partir duquel vous souhaitez exécuter votre application, puis en clonant vos fichiers directement à partir de GitHub. Vous créez ensuite votre application sur le serveur. Cette approche garantit que les fichiers spécifiques à la plate-forme sont correctement construits, mais nécessite que Meteor soit installé sur le serveur (plus de 500 Mo) et que des versions légèrement différentes risquent de se terminer en production si vos serveurs sont légèrement différents.
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 puis copier sur le serveur
Vous pouvez également créer votre application, puis la déployer.
cd myapp
meteor build --directory ../output
cd ..
scp output -r username@destination_host:/var/www/myapp-production
Écrire votre script de démarrage
Vous aurez besoin d'un script de démarrage dans votre /etc/init/ directory
. Nommez-le avec le nom de votre application, se terminant par .conf
, tel que /etc/init/myapp.conf
. Le script de démarrage de base ressemble à ceci:
## /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
Script de démarrage pour les jeux de réplicas
Si vous exécutez un jeu de réplicas ou si vous avez besoin de partager votre base de données, vous aurez besoin d'un script qui ressemble à ceci:
# /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
Exécuter votre script de démarrage
Enfin, vous devez démarrer le démon Upstart et initialiser votre application en tant que service.
sudo service myapp start
Configuration d'un serveur pour héberger plusieurs applications Meteor
https://www.phusionpassenger.com/
https://github.com/phusion/passenger
https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Meteor-tutorial#wiki-installing