嘿,我使用phusion Passenger(4.0.20)
和Rails 3.0.3
以及Ruby ruby-1.8.7-p374
在服务器中部署了我的一个Rails应用。在同一系统中,我们还使用其他Rails和Ruby版本管理其他rails项目。我们正在使用RVM
来管理红宝石。
执行rvm列表显示:
rvm rubies
ruby-1.8.7-p371 [ x86_64 ]
=* ruby-1.8.7-p374 [ x86_64 ]
ruby-2.0.0-p353 [ x86_64 ]
ruby-2.0.0-p451 [ x86_64 ]
ruby-2.1.0 [ x86_64 ]
ruby-2.1.1 [ x86_64 ]
# => - current
# =* - current && default
# * - default
我在运行时遇到问题的项目是使用ruby-1.8.7-p374
和Rails 3.0.3
。现在当我拿到URL时,它会显示下面给出的错误。
重新启动了apache,重新启动了乘客,但我们遇到了ruby-2.0.0-p451
的问题,我们已经安装了这个问题来管理另一个Rails应用程序。
可能是什么原因?请帮助:)
答案 0 :(得分:0)
您的项目目录中是否有.ruby-version?您的项目正在尝试加载ruby-2.0.0-p451
而不是ruby-1.8.7-p374
在项目目录中使用所需的设置版本,即ruby-1.8.7-p374
并尝试使用.ruby-version。
Use rvmrc or ruby-version file to set a project gemset with RVM?
答案 1 :(得分:0)
转到项目目录并逐个运行以下命令:
rvm use ruby-1.8.7-p374
gem install bundler passenger
rvm passenger-install-apache2-module
这将安装乘客以及Apache模块,这意味着您将被要求向/etc/apache2/apache2.conf
添加一些配置更改并按此方式执行此操作。
为您的网站/etc/apache2/sites-available/
创建一个文件(类似'www.virtualx.com')并插入:
<VirtualHost *>
# Change these 3 lines to suit your project
RailsEnv production
ServerName www.virtualx.com
DocumentRoot /var/www/my_project/public # Note the 'public' directory
</VirtualHost>
并将PassengerRuby
选项设置为ruby-1.8.7-p374
。
重启Apache服务。你们都完成了。
现在它可以正常工作。
如果您需要同时为不同项目工作的多个ruby版本,请参阅here。
希望有所帮助:)
答案 2 :(得分:0)
我在这里看到两个问题:
另外,您应该升级到最新版本的Phusion Passenger 4.0.41,以获取最新的错误修复。