我首先在我的debian上安装了mod_ruby,然后(在发现它太慢之后)我想为我的apache找乘客。
现在我遇到了问题,虽然apache成功加载了passenger,但并未使用它,尽管我正确地配置了所有内容,例如:
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName xyz
DocumentRoot /var/www/vhosts/default/htdocs/
RailsBaseURI /rails
</VirtualHost>乘客的安装cgi - module用于显示rails-apps...(如果我从"sites-enabled“文件夹中卸载cgi.conf和cgi-load,它就不能工作了……另一方面,如果我卸载passenger.load和passenger.conf文件,它仍然有效...)
那么,如何强制apache使用passenger来显示rails站点呢?
发布于 2009-11-17 00:00:51
假设您已经使用Apache正确地安装和配置了passenger ...您的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发布于 2009-11-17 00:26:44
您是否在rails应用程序中重新配置了relative_url_root?例如,在config/environment.rb中
config.action_controller.relative_url_root = "/rails"https://stackoverflow.com/questions/1743073
复制相似问题