Phusion Passenger / Apache在Mac OSX Maverick上无法正常运行

时间:2013-10-23 16:59:23

标签: ruby-on-rails apache apache2 passenger apache2-module

在我的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。 `

2 个答案:

答案 0 :(得分:6)

我遇到了同样的问题。我恢复了httpd.conf中的上一个/etc/apache2文件。该文件已重命名为httpd.conf.pre-update。我用apachectl restart重新启动了服务器,一切都很好。

答案 1 :(得分:1)

我检查了新旧httpd.conf文件之间的差异,它们非常小(但至关重要):

1)包含虚拟主机的行被注释掉了。 2)包含PHP模块的行被注释掉了。

我取消了两条线并解决了问题。