gpt4 book ai didi

ruby-on-rails - Mac OSX Lion Apache + RubyOnRails + mod_passenger

转载 作者:数据小太阳 更新时间:2023-10-29 08:09:40 24 4
gpt4 key购买 nike

我正在尝试学习如何使用 Ruby On Rails 开发 Web 应用程序,但我遇到了一个愚蠢的错误。我正在尝试使用 Phusion Passenger aka mod_rails 来使用 Apache 而不是 WEBrick;我已经通过 gem 安装了模块并运行了

sudo passenger-install-apache2-module

安装passenger的命令;然后我编辑了 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,但它不起作用 :( 如果我在本地主机中查找,我会看到“它有效!”页面,但如果我进入 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 添加到我的主机文件,但我不明白为什么;谁可以给我解释一下这个? ._.

最佳答案

您不能在主机文件中对本地主机使用通配符。您必须在主机文件中明确指定本地主机的每个子域。如果您正在寻找替代方案,您可以购买一个域名并使用通配符将该域名指向 127.0.0.1。您甚至可以更进一步,拥有一个框架应用程序,通过映射路由将不同的子域指向不同的应用程序。

关于ruby-on-rails - Mac OSX Lion Apache + RubyOnRails + mod_passenger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com