在我的MacBook上更新到OS X Maverick后,我的本地开发环境被破坏了 - Apache httpd.h file missing on MacOSX after Mavericks Upgrade (** Updated for Yosemite **)
现在解决了问题后,我似乎无法在端口80(localhost
)上运行本地Web服务器。
如果我转到'localhost',我会看到It works!
这是默认的apache页面。
如果我运行passenger start
我可以在localhost:3000
查看我的应用,但这是一个运行的乘客独立网络服务器,而不是apache。
如果我运行sudo passenger start -p 80 --user=martin
,我会收到消息:
The address 0.0.0.0:80 is already in use by another process,
perhaps another Phusion Passenger Standalone instance.
If you want to run this Phusion Passenger Standalone instance on another port,
use the -p option, like this:
passenger start -p 81
我不记得当我第一次在笔记本电脑上安装Rails时我做了什么,我确信我在一开始就运行了passenger start
并且之后不需要这样做而且阅读更多关于它在线,apache应该自动运行乘客,但apache似乎没有做任何事情,但显示默认的起始页面,我不知道为什么。
我认为Maverick创建了一个新的httpd.conf,但我没有看到太大的区别,我确保运行passenger-install-apache2-module
的三个额外行返回到配置文件的末尾。
乘客宝石是最新版本,Rails版本是2.3.14,红宝石是1.8.7,所以相当古老但不应该重要我不认为它在localhost
之前完全无需工作而无需将端口3000添加到网址,以便希望有更多使用Passenger经验的人可以提供帮助。
我尝试过阅读大量其他问题和论坛以及Phusion Apache documentation。 `
答案 0 :(得分:6)
我遇到了同样的问题。我恢复了httpd.conf
中的上一个/etc/apache2
文件。该文件已重命名为httpd.conf.pre-update
。我用apachectl restart
重新启动了服务器,一切都很好。
答案 1 :(得分:1)
我检查了新旧httpd.conf文件之间的差异,它们非常小(但至关重要):
1)包含虚拟主机的行被注释掉了。 2)包含PHP模块的行被注释掉了。
我取消了两条线并解决了问题。