nginx配置问题,端口已在使用中

时间:2015-03-30 10:12:12

标签: php mysql macos curl nginx

我最近迁移到Mac OSX Yosemite 10.10,然后我跟着this tutorial

要设置我的机器,在经历了很多打嗝之后,我终于设法达到一个点,我发现由于nginx端口问题而发生了一个问题。

如果我这样做

sudo nginx

我明白了

nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:306 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:306 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:306 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:306 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:306 failed (48: Address already in use)
nginx: [emerg] still could not bind()

这意味着443和306端口正在其他地方使用

当我做的时候

sudo lsof -i:443

我明白了

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 548 root 13u IPv4 0xce9cf564560ec22b 0t0 TCP *:https (LISTEN)
nginx 549 nobody 13u IPv4 0xce9cf564560ec22b 0t0 TCP *:https (LISTEN)

同样适用于sudo lsof -i:306

我得到了

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 548 root 14u IPv4 0xce9cf564560ed3cb 0t0 TCP *:306 (LISTEN)
nginx 549 nobody 14u IPv4 0xce9cf564560ed3cb 0t0 TCP *:306 (LISTEN)

现在如果nginx已经在使用这些端口,那怎么说它已经在使用地址

当我在浏览器中运行我的应用程序时说abc.dev.com

在某个时候浏览器只是告诉我

后,我没有得到服务器的响应

连接已超时     abc.dev.com上的服务器响应时间太长。

如果我curl http://abc.dev.com

卷曲:(7)无法连接到abc.dev.com端口80:操作超时

如果我这样做

nginx.start

我明白了:

/Library/LaunchDaemons/homebrew.mxcl.nginx.plist:正在进行的操作

如果我这样做::

nginx.stop //它有效,我认为它会停止

如果我这样做:

nginx.restart

我明白了:

/Library/LaunchDaemons/homebrew.mxcl.nginx.plist:找不到指定的服务

我已经没有想法,也无法想到可能导致这种情况的任何事情。任何想法都非常感谢...

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您在此处链接的指南的作者。看起来你设法在没有正确的LaunchDaemon的情况下运行Nginx。

你能确定,当你进入" nginx.stop"时,这个过程真的停止了吗? (ps aux)。

关于" nginx.restart"的最后一次错误:这是正常的,因为您之前已使用" nginx.stop"停止了服务。因此重启(实际上是:停止&& start)会出现错误,因为它试图停止已经停止的服务。

无论如何,由于您的问题几乎取决于指南/相关性,我不确定StackOverflow是否适合此讨论。让我们继续在指南的评论部分继续。