为了开始在我的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>
我使用
生成了testprojectrails 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
正确。请检查您的所有应用程序文件是否都是 上传。 可能未安装所需的库。请安装所有库 这个应用程序需要。
有关错误的更多信息可能已写入 应用程序的日志文件。请检查它以分析 问题
错误讯息: 没有要加载的文件 - rubygems / path_support异常类: LoadError应用程序root: /万维网的/ dev / rubytest
任何帮助或提示都会有所帮助。谢谢!
答案 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 /它开始工作。
希望如果其他人遇到类似问题,这会有所帮助。