我有两个(相同的)rails应用程序和nginx配置(与乘客一起使用):
> cat ./sites-available/app-production
server {
listen 80;
server_name app-development.mydomain.com;
root /path/to/my/production/app/public;
passenger_enabled on;
rails_env production;
rack_env production;
}
> cat ./sites-available/app-development
server {
listen 80;
server_name app-development.mydomain.com;
root /path/to/my/development/app/public;
passenger_enabled on;
rails_env development;
}
两者都有./config/mongoid.yml:
development:
sessions:
default:
database: app-development
hosts:
- localhost:27017
options:
consistency: :strong
options:
production:
sessions:
default:
database: app-production
hosts:
- localhost:27017
options:
consistency: :strong
options:
但如果我同时启动它们,我会看到它们使用相同的数据库:我在development
中更改了一些数据,我也看到了production
中的更改。
即使我export RAILS_EVN="production"
,mongodb也使用developmnet db。如果Phusion Passenger返回一些错误,它会说 - 它正在运行开发模式。
如果这些配置还不够,还有哪些其他配置。或者我做错了什么?
答案 0 :(得分:0)
它们都有相同的服务器名称,所以我猜是一个会覆盖另一个。
server {
listen 80;
server_name app-development.mydomain.com; <-- should be app-production!
root /path/to/my/production/app/public;
passenger_enabled on;
rails_env production;
rack_env production;
}
我还建议清理Nginx日志然后重新启动并检查日志中是否有任何错误(或者提高日志级别并重试)。它也是RAILS_ENV
而不是RAILS_EVN
,但rails_env production;
应该为您照顾。