我首先在我的debian上安装了mod_ruby,之后(在发现它太慢之后)我想为我的apache挑选乘客
现在我遇到了问题,乘客是由apache成功加载的,但是没有使用,即使我正确配置了所有内容,例如:
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName xyz
DocumentRoot /var/www/vhosts/default/htdocs/
RailsBaseURI /rails
</VirtualHost>
乘客的Instad cgi - 模块用于显示rails-apps ...(如果我从“sites-enabled”文件夹中卸载cgi.conf和cgi-load,它就不再工作了......另一方面,如果我卸载passenger.load和passenger.conf文件,它仍然有效......)
那么,我怎样才能强迫apache使用乘客来显示铁路网站?
答案 0 :(得分:2)
假设您已经安装了乘客并使用Apache正确配置 ...您的DocumentRoot
需要指向您的rails应用的public
目录。这是一个有效的VirtualHost
指令:
<VirtualHost *:80>
ServerName myapp.local
DocumentRoot "/path/to/myapp/public"
RailsEnv development
<directory "/path/to/myapp/public">
Order allow,deny
Allow from all
</directory>
</VirtualHost>
事先,还要确保已启用命名虚拟主机:
NameVirtualHost *:80
此外,您确实正确配置了乘客模型。例如:
LoadModule passenger_module /path/to/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so
PassengerRoot /path/to/ruby/gems/1.8/gems/passenger-2.2.5
PassengerRuby /path/to/bin/ruby
答案 1 :(得分:0)
您是否在rails应用程序中重新配置了relative_url_root
?例如,在config/environment.rb
:
config.action_controller.relative_url_root = "/rails"