我正在尝试学习如何使用 Ruby On Rails 开发 Web 应用程序,但我遇到了一个愚蠢的错误。我正在尝试使用 Phusion Passenger aka mod_rails 来使用 Apache 而不是 WEBrick;我已经通过 gem 安装了模块并运行
sudo passenger-install-apache2-module
命令安装乘客;然后我编辑了 http.conf 文件添加
LoadModule passenger_module /Users/Stopped/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /Users/Stopped/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19
PassengerRuby /Users/Stopped/.rvm/wrappers/ruby-1.9.3-p327/ruby
添加了虚拟主机
<VirtualHost *:80>
ServerName rails.local
DocumentRoot "/Users/Stopped/RoR/prova/public"
<Directory /Users/Stopped/RoR/prova/public>
AllowOverride all
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
使用 sudo apachectl restart 重新启动了 Apache 但它不起作用:( 如果我在 localhost 中查找,我会看到“它有效!”页面,但如果我进入 rails.local,则没有我的 Rails 应用程序 :(
乘客已装载
Apache/2.2.22 (Unix) Phusion_Passenger/3.0.19 DAV/2 PHP/5.4.9 Server at localhost Port 80
有任何想法吗?
PS:这是“apachectl -S”输出
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server rails.local (/private/etc/apache2/extra/httpd-vhosts.conf:53)
port 80 namevhost rails.local (/private/etc/apache2/extra/httpd-vhosts.conf:53)
Syntax OK
解决方案
嗯...我解决了它,将 127.0.0.1 rails.local 添加到我的主机文件中,但我不明白为什么;谁可以给我解释一下这个?._.