RHEL Ruby(1.9.2)on Rails(3.0.9)和Passenger(3.0.7)应用程序无法启动

时间:2011-07-27 10:05:45

标签: ruby-on-rails-3 apache2 ruby-on-rails-plugins passenger

为了开始在我的RHEL服务器上提供Ruby on Rails,我一直在为使用Passenger安装工作一天敲打头。

我在Rails(3.0.9)上安装了Ruby(1.9.2),在RVM上安装了Passenger(3.0.7)。

Apache配置:

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

我使用

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

然后导航到我得到的测试项目:

  

缺少应用程序所需的源文件。

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

正确。请检查您的所有应用程序文件是否都是   上传。       可能未安装所需的库。请安装所有库   这个应用程序需要。

     

有关错误的更多信息可能已写入   应用程序的日志文件。请检查它以分析   问题

     

错误讯息:       没有要加载的文件 - ruby​​gems / path_support异常类:       LoadError应用程序root:       /万维网的/ dev / ruby​​test

任何帮助或提示都会有所帮助。谢谢!

  • RR -

1 个答案:

答案 0 :(得分: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配置上的DocumetRoot(httpd.conf)已设置但指向与rails app不同的路径上的子目录。

文档根目录是

DocumentRoot "/var/www/default"

我的rails应用程序位于

/var/www/dev/testpublic

这导致乘客在目录

上寻找应用程序
/var/www/default/dev/testpublic

相应地修改了confic并调整了我的设置以便我可以将DocumetRoot设置为/ var / www /它开始工作。

希望如果其他人遇到类似问题,这会有所帮助。

  • RR