2011-04-29 18 views
5

Estoy creando una aplicación que, además del entorno de producción en vivo, requiere un entorno de desarrollo y puesta en escena. El entorno de producción está actualmente en vivo y en su propia instancia de VPS. Un registro:desarrollo, puesta en escena y entornos de producción aplicación de carriles

myapp.com 1.2.3.4 

Los entornos de desarrollo y puesta en escena será en su propia instancia VPS. He configurado los registros DNS adecuadas para cada entorno tiene su propia sub-dominio (registro A en el dominio myapp.com que apunta a la dev/servidor de transición:

dev.myapp.com 5.6.7.8 
staging.myapp.com 5.6.7.8 

El confix Nginx (rieles), conjuntos de pasajeros la raíz de cada servidor (SSL comodín es configurar en la definición de HTTP y el puerto 80 redirige al puerto 443):

server { 
    listen 443; 
    server_name dev.myapp.com 
    root /apps/myapp/dev/public 
} 

server { 
    listen 443; 
    server_name staging.myapp.com 
    root /apps/myapp/staging/public 
} 

estoy un poco confundido en el lado de los carriles lo que más debo hacer para configurar los entornos para que pueda acceder a los entornos individuales de desarrollo y transición por URL:

staging.myapp.com 
dev.myapp.com 

Sé que Capistrano le permite establecer entornos de producción y de preparación pero necesito que las URL de desarrollo y de transición estén en vivo o ¿debería ser suficiente?

Respuesta

17

Puede establecer el entorno para cada instancia utilizando la opción rails_env. Por ejemplo:

server { 
    listen 443; 
    server_name staging.myapp.com; 
    root /apps/myapp/staging/public; 
    passenger_enabled on; 
    rails_env staging; 
} 
+0

esto es clave, pues están por todo el uso de la 'db producción' por defecto, lo que definitivamente no quiere – brad

+0

dulce, gracias chicos. Eso funciono. sin embargo, ahora recibo este feo error en mi error.log: el cliente envió una solicitud HTTP simple al puerto HTTPS mientras leía los encabezados de solicitud del cliente, cliente – cheifops

+1

Nevemrind. Me lo imaginé. Tonto de mí. SSL se configuró en http y no en cada instancia de servidor porque no tengo un comodín o un subdominio SSL Cert. – cheifops

Cuestiones relacionadas