2011-07-27 45 views
1

爲了開始爲Ruby提供服務,我一直在用Passenger安裝我的頭腦, Rails在我的RHEL服務器上。RHEL Ruby(1.9.2)on Rails(3.0.9)和Passenger(3.0.7)應用程序無法啓動

我有Rails(3.0.9)和Passenger(3.0.7)與RVM安裝的Ruby(1.9.2)。

Apache配置:

RailsBaseURI /dev/testpublic 
#RackBaseURI /dev 
<Directory /var/www/dev/testublic> 
     Options -MultiViews    
</Directory> 

我產生與

rails new . -d mysql 
rails generate scaffold Post name:string title:string content:text 
rake db:migrate 

然後導航到測試項目testproject我得到:

應用程序需要的源文件,是失蹤。

It is possible that you didn't upload your application files 

正確。請檢查您上傳的所有應用程序文件是否爲 。 可能未安裝必需的庫。請安裝該應用程序所需的所有庫 。

有關該錯誤的更多信息可能已寫入 應用程序的日誌文件。請檢查它以分析 問題。

錯誤消息: 沒有這樣的文件來加載 - 的rubygems/path_support異常類: LoadError應用根: /萬維網的/ dev/ruby​​test

任何幫助或提示將有所幫助。謝謝!

  • RR -
+0

得到這個解決。在我的新手計時器推遲之後會發布howto :-) – Repomies

+0

您沒有在您的apache配置中定義的DocumentRoot。 –

+0

@Douglas對於RVM配置中的問題,也一樣。我將DocumentRoot配置在單獨的文件中,以便將我拋棄。 – Repomies

回答

2

並回答我的問題。現在解決了。

我注意到我的RVM安裝沒有完成它自己,因爲它應該有。讀取塊很少,配置文件丟失。下面是我所做的修復:我的RVM作爲多用戶安裝,所以這就是爲什麼有問題。

chmod a+rx /usr/local/rvm/ -R 
chmod a+r /etc/rvmrc 

而且到/ etc/profile文件,並以我自己的.basch_profile

[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # This loads RVM into a shell session. 

在此之後,我得到一個不同的問題 - 現在passeger一直在尋找在錯誤的目錄中的應用程序。我有我的Apache設置,以便我將所有頂級目錄設置爲單獨的文件,我可以啓用/禁用像啓用站點已完成。

Apache配置(httpd.conf)上的DocumetRoot已設置,但指向與rails應用程序位於不同路徑的子目錄。

文檔根是

DocumentRoot "/var/www/default" 

凡爲我的Rails應用程序是位於

/var/www/dev/testpublic 

這導致乘客尋找的應用程式上的目錄

/var/www/default/dev/testpublic 

修改confic後並據此調整我的設置,以便我可以將DocumetRoot設置爲/ var/www /它開始工作。

希望這可以幫助別人遇到類似的問題。

  • RR
+0

謝謝你!對我來說有什麼不同是chmod a + rx/usr/local/rvm/-R。我發現了其他帖子,他們說這是一個權限問題,但是您是唯一一個發佈您修正問題的人。 – James

相關問題