Назад | Перейти на главную страницу

Специфическая среда приложения на одном сервере в Nginx / Passenger

У меня есть два приложения Rails (скажем, app1 и app2), развернутых с использованием Nginx / Passenger. Определение сервера в nginx.conf выглядит так:

server {
        rails_env demo;
        client_max_body_size 50M;
        listen       80;
        server_name  localhost;
        root /data/apps;
        passenger_enabled on;
        passenger_base_uri /app1;
        passenger_base_uri /app2;
    }

Вы можете видеть, что оба настроены на использование demo как RAILS_ENV. Как мне изменить конфигурацию, чтобы оба приложения запускались в разных средах. Предположим, приложение app2 должно работать с RAILS_ENV=qa и app1 с RAILS_ENV=demo

Вы можете попробовать добавить операторы местоположения для таких путей, как

location /app1 {
    rails_env demo
}

location /app2 {
    rails_env qa
}