2010-10-13 18 views
9

Tengo una aplicación Rails 3 (que actualicé). Se ejecuta en passenger y nginx, pero en mi servidor de producción también comienza con el entorno establecido en 'producción'. Sé que me estoy perdiendo algo realmente básico, pero simplemente no puedo encontrar dónde establecer el entorno en lugar de hacerlo en environment.rb.Rails 3 - entorno establecido

¡Gracias por tu ayuda!

ACTUALIZACIÓN: vale, me enteré de que aún puedo hacer eso con Rails.env = 'producción'.

Eso me parece algo de la vieja escuela. ¿Conoces una forma elegante de configurar esto tal vez en el Capfile o algo así?

Respuesta

6

Rails 3 es un poco diferente que Rails 2.x en que tiene un archivo config.ru, como otras aplicaciones Rack.

Passenger detecta los raíles como una aplicación Rack, por lo que tendrá que usar RackEnv en lugar de RailsEnv en el vhost. Puede configurar el entorno con RackEnv según la documentación de Passenger/Nginx.

3

Puede configurar un RAILS_ENV diferente para cada aplicación en su vhost para nginx con pasajero. Nunca he usado nginx pero en apache es solo una directiva RailsEnv=development. De esta forma, cada sitio lo tiene configurado, no se preocupe por configurar una tarea o variable de límite ni nada. Vea el docs. Tenga en cuenta que el valor predeterminado es production, por lo que ya debería estar configurado para usted.