0

我有两个(相同的)带有 nginx 配置的 rails 应用程序(与乘客一起使用):

> 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 返回一些错误,它会说 - 它正在运行开发模式。

如果这些还不够,还有什么其他配置。还是我有什么问题?

4

1 回答 1

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_EVNrails_env production;应该为你处理好。

于 2014-09-09T22:06:22.370 回答