Un carriles de aplicación se puede ejecutar en la producción llamando rails server -e production
, aunque el 99% de las veces se le sirve en algo como pasajero o delgada vez de WEBrick, lo que significa que hay un comando diferente para iniciar el servidor. (thin start -e production
por ejemplo)
Esta es una pregunta complicada, pero el mejor lugar para comenzar a aprender sobre las diferencias sería mirar los archivos específicos environment.rb
. Cuando se inician los raíles, comienza con el archivo de entorno que coincide con el entorno llamado, es decir, si lo inicia en desarrollo, comienza cargando su archivo development.rb
o, si está en producción, cargará el archivo production.rb
. Las diferencias en los entornos son principalmente el resultado de estas diferencias en los diversos archivos de configuración del entorno.
Básicamente si una aplicación Rails 3.1 está en modo de producción, de manera predeterminada no va a compilar activos sobre la marcha, y se llevará a cabo un gran almacenamiento en caché que no está sucediendo en el desarrollo. Además, cuando recibe mensajes de error, se registrarán pero no se mostrarán al usuario, en su lugar se usará la página de error estático de su directorio público.
Para obtener una visión más clara de esto, me permito sugerir la lectura de los carriles correspondientes guías:
carriles de guía de inicialización: http://guides.rubyonrails.org/initialization.html
Guía de configuración de rieles: http://guides.rubyonrails.org/configuring.html
Posible duplicado: http: // stackoverflow.com/questions/1949229/change-a-rails-app-to-production –
@ Black, para mí esto no parece un duplicado de la pregunta que ha vinculado. – Andrew
¿Necesita agregar el parámetro de producción 'rails server -e production' – abhinav