尝试为 Ruby on Rails 应用程序设置 SSL,mac Lion 说端口 80 和 443 已被使用..我该如何调试/解决?

尝试为 Ruby on Rails 应用程序设置 SSL,mac Lion 说端口 80 和 443 已被使用..我该如何调试/解决?

在此处输入图片描述
上图是我运行时的控制台输出

sudo /usr/sbin/apachectl restart

当我手动启动和停止 Apache 时,控制台没有任何语法错误或任何其他消息。那么我该如何调试它呢?

编辑:使用端口的事物列表

$ sudo lsof -i:80
Password:
COMMAND PID USER   FD   TYPE      DEVICE SIZE/OFF NODE NAME
httpd   734 root    5u  IPv6 0xf..0      0t0  TCP *:http (LISTEN)
httpd   736 _www    5u  IPv6 0xf..0      0t0  TCP *:http (LISTEN)
httpd   774 root    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)
httpd   777 _www    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)
httpd   822 _www    4u  IPv4 0xf..0      0t0  TCP *:http (LISTEN)

它也与 -i:443 完全相同。为什么有这么多 httpd?难道不应该只有一个吗?(我想每个 IP 版本都有)

当在(您最喜欢的网络浏览器)中浏览我的服务器的 IP 地址时,它只是显示内部服务器错误。

然后服务器上的控制台显示“nstat_lookup_entry failed 2”=\

答案1

显然,您的 MAC 上已在运行另一个程序。如果您未安装任何其他服务器,则最佳猜测是 Skype。它曾经使用这两个端口。

也许更简单 - 在终端上尝试这个来查看正在监听的内容:

sudo lsof -n -i4TCP:80 | grep LISTEN

答案2

从您的屏幕截图来看,失败的操作似乎正在尝试绑定到 IPv6 等效项0.0.0.0,即[::]。绑定到 IPv4“地址”似乎也0.0.0.0成功了。因此,在启动 Rails 应用程序后,请检查 的输出netstat -64tulpen(或 OS X 上的相应等效项),看看它是否确实没有在所需的端口上监听。还请尝试找出使用 IPv6 的内容、绑定到[::]:80和 的[::]:443内容以及原因。

相关内容