Ricerca…
Servizio Upstart
Questa guida all'implementazione presuppone che si stia utilizzando un server Ubuntu e si auto-hosting o si utilizza un provider IaaS (Infrastructure as a Service), come Amazon Web Services o Rackspace. Il tuo server Ubuntu deve eseguire un demone per l'avvio di altre app, per le quali consigliamo il servizio Upstart. Puoi trovare ulteriori informazioni su Upstart con i seguenti link:
Upstart - Per iniziare
Iniziare con Upstart Scripts su Ubuntu
UbuntuBootupHowTo
Introduzione introduttiva, ricettario e best practice
Esegui NodeJS come servizio su Ubuntu Karmic
Copia dei file sul tuo server Quindi compilare
Un approccio privilegiato alla distribuzione su un server consiste nell'utilizzare Git o GitHub. Questo in pratica comporta l'accesso al server, il passaggio alla directory da cui si desidera eseguire l'app, quindi la clonazione dei file direttamente da GitHub. Quindi crei la tua app sul server. Questo approccio garantisce che i file specifici della piattaforma vengano compilati correttamente, ma richiede che Meteor sia installato sul server (500+ MB) e che in caso di server leggermente diversi siano possibili build leggermente differenti.
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 Then Copy To Server
In alternativa, potresti voler creare la tua applicazione e quindi distribuirla ..
cd myapp
meteor build --directory ../output
cd ..
scp output -r username@destination_host:/var/www/myapp-production
Scrivi il tuo script Upstart
Avrai bisogno di uno script upstart nella tua /etc/init/ directory
. Chiamalo con il nome della tua app, terminando in .conf
, come /etc/init/myapp.conf
. Lo script upstart di base assomiglia a questo:
## /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 Upstart per set di repliche
Se stai eseguendo un set di repliche o hai bisogno di dividere il tuo database, ti consigliamo uno script di avvio che assomigli a questo:
# /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
Esecuzione del tuo script Upstart
Infine, dovrai avviare il demone Upstart e inizializzare la tua app come servizio.
sudo service myapp start
Configurare un server per ospitare più app Meteore
https://www.phusionpassenger.com/
https://github.com/phusion/passenger
https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Meteor-tutorial#wiki-installing