2015-10-30 47 views
1

我對Rails和使用PassengerPhusion都比較陌生。我在Azure上運行Ubuntu服務器,並且有the demo app that Passenger provides working fine。我甚至改變了主頁上的文字。在Rails應用程序中更改目錄名稱

我的問題是這樣的:

在我的目錄,文件目錄的的應用程序名稱爲passenger-ruby-rails-demo,雖然我嘗試,我改變了目錄,像passenger-ruby-rails-demo-test的名稱,並返回一個錯誤信息當查看fleetpro.cloudapp.net

我試圖找出通過文件試圖找出如何路由,但沒有任何運氣。 Rails安裝中是否有文件告訴Passenger在特定的passenger-ruby-rails-demo目錄中?很新奇的問題,但它真的困擾我!

回答

0

我不確定命名約定如何處理應用程序的根目錄名「passenger-ruby-rails-demo」,但我相信該目錄的名稱對於運行您的應用程序非常重要Rails應用程序,並且可能必須在您的Rails應用程序命名的config/application.rb文件中使用該模塊的名稱。

雖然有一個解決方案:使用gem rename

gem rename添加到您的Gemfile並運行bundle install

然後應用程序的根目錄,運行此:

rails g rename:app_to New-Name 

這將基本上是「克隆」與您的新名稱的應用程序。您可能需要檢查以確保所有配置文件都存在,但從使用它的經驗來看,這是一件輕而易舉的事情。您絕對必須將新重命名的應用程序推回到git或Azure。

編輯

例如,我改名爲一個Rails應用程序,以顯示你可以從輸出的期望運行命令後:

enter image description here

+0

很酷,謝謝!我會試一試,看看我的想法 – Garrett

+0

不是問題,我最初說「在不同的目錄下做」,但我現在只是測試了一下,實際上你應該在同一個目錄下做。它會重命名您的應用程序,而不是克隆第二個副本。 –

+0

我終於開始執行命令了,幾乎所有的工作都完成了。 http://fleetpro.cloudapp.net/所以,似乎我有更多的調查要做.. Rails成功地重命名了應用程序,但東西壞了 – Garrett

0

Rails應用程序的名字是不是問題,這是您要使用的開關PassengerAppRoot

PassengerAppRoot /path/to/your/app 

R ails實際上並不關心它被放入哪個文件夾,所以重命名Rails 不會修復您的問題

重命名Rails只會改變你的應用程序中的內部類引用(像Rails.application.name這對你的應用程序有非常微妙的影響)。

在你Azure的服務器,你需要找到或者您的.htaccess/httpd.conf/nginx.conf文件,並更改PassengerAppRoot到新路徑。這應該可以解決問題。

+0

謝謝!如果您管理服務器,那麼我很難找到nginx.conf文件 – Garrett

+0

'/ etc/nginx/nginx.conf' –