2011-08-22 12 views

risposta

69

Dipende da come stai gestendo la tua app. Se stai usando solo il comando rails server, si può fare:

rails server -e production 

si può anche semplicemente usare RAILS_ENV come lei ha ricordato (ma farlo in una sola riga):

RAILS_ENV=production rails server 

Se si' Riguardo alla tua esatta configurazione di produzione (ad esempio, stai usando Passeggero, Mongrel o Unicorno o qualcos'altro?), potremmo darti una risposta più specifica per la tua situazione.

Mentre Passenger ha l'impostazione predefinita per eseguire l'app in modalità di produzione, a meno che non lo dica diversamente, è possibile fare doppio accertamento. Per passeggeri dietro Apache, si dovrebbe aggiungere questo per la configurazione di Apache:

RailsEnv production 

per passeggeri dietro Nginx, si aggiunge questo alla configurazione Nginx:

rails_env production; 
+0

Utilizzerò il passeggero sul server web. – Brian

+0

Vedere la risposta aggiornata. Si noti, tuttavia, che il passeggero utilizza automaticamente la modalità di produzione per impostazione predefinita. –

+0

Ok, non penso che funzioni: RAILS_ENV = produzione nel mio file di ambiente, perché quando eseguo rake db: migrate o rails server ottengo il seguente errore: variabile locale indefinita o metodo 'produzione' – Brian

13

Questa è la risposta:

$ RAILS_ENV=production rake db:migrate 
+0

ha funzionato come un fascino! – coletrain

+3

Questo naturalmente richiede solo la migrazione del database, non esegue il server in produzione. – bchurchill

Problemi correlati