2013-10-14 34 views
0

我有nginx的CONFIGS(與乘客使用)兩(下同)Rails應用程序:如何在生產中使用phusion乘客運行rails應用程序,因此生產mongodb也使用?

> 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

他們都有相同的服務器名稱,所以我的猜測是一個會覆蓋另一個。

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;應該照顧你。

相關問題