Многоэтапная среда для Rails с Nginx
Я создал новую среду "постановка". Локально это работает. Я запускаю это так:
RAILS_ENV=staging passenger start
На сервере я использую Nginx + пассажир. В настройках виртуального хоста я написал:
server {
listen 443;
server_name test.myapp.com;
rails_env staging;
root /home/admin/myapp/current/public; # <-- be sure to point to 'public'
passenger_enabled on;
ssl on;
ssl_certificate /home/admin/ssl/server.crt;
ssl_certificate_key /home/admin/ssl/server.key;
}
server {
listen 80;
server_name test.myapp.com;
root /home/admin/myapp/current/public;
rewrite ^ https://$server_name$request_uri? permanent;
}
Но приложение все еще работает в производстве. Загружает производственную базу данных, а не постановку. Перезагрузка Nginx не помогает. Что случилось?
2 ответа
Решение
Я думаю, что вам не хватает rails_env
установка.
server {
...
rails_env staging;
}
Содержит ли.bashrc или.zshrc для пользователя параметр RAILS_ENV? Если это так, возможно, он отменяет настройку NGINX.