1
我想爲每個站點部署一個多站點Rails應用程序,併爲每個站點配置不同的視圖和公共文件夾。假設我們有www.foo.com和www.bar.com。在我的RAILS_ROOT目錄中,我有一個[sites]目錄,在[foo]和[bar]中有兩個文件夾,每個文件夾由[public]和[views]文件夾組成。Rails MultiSite應用程序+ nginx配置
我的nginx的配置必須是類似的東西:
server {
listen 80;
server_name www.foo.com;
root RAILS_ROOT/sites/bar/public;
passenger_enabled on;
rails_env development;
}
server {
listen 80;
server_name www.bar.com;
root RAILS_ROOT/sites/bar/public;
passenger_enabled on;
rails_env development;
}
我的問題是nginx的不能真正找到RAILS_ROOT因爲它預計公用文件夾RAILS_ROOT /公衆通常的層次結構。任何解決方案?
RAILS_ROOT是Rails框架的一個變量。 Nginx無法看到它。 – hellvinz 2010-10-07 16:43:41
你可以發佈錯誤等?這是nginx上Rails的標準部署;然而,如果你只有'公共'和'意見'文件夾(並沒有一個不尋常的fcgi),乘客可能無法啓動應用程序,因爲呃,它缺少噸。 ;) – mway 2010-10-07 22:00:02
實際上問題在於nginx找不到應用程序的核心部分,因爲它位於比正常情況更多的2個父目錄中。通常我們有path/to/app/public,而我有path/to/app/sites/foo/public。我需要告訴nginx看看那裏找到核心rails應用程序。我怎樣才能做到這一點?? – Dimitris 2010-10-08 00:46:33