php - nginx配置问题,端口已被使用

标签 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我得到

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

如果我也这样做

nginx.start

我明白了:

/Library/LaunchDaemons/homebrew.mxcl.nginx.plist:操作已在进行中

如果我这样做::

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

如果我这样做:

nginx.restart

我明白了:

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

我已经没有想法了,想不出任何可能导致这种情况的原因。任何想法都将受到高度赞赏...

感谢您的帮助。

最佳答案

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

你能确定,当你输入“nginx.stop”时,进程真的停止了吗? (ps aux)。

关于“nginx.restart”时的最后一个错误:这很正常,因为您之前已经使用“nginx.stop”停止了服务。因此,重新启动(实际上:停止&&启动)将会出现错误,因为它试图停止已经停止的服务。

无论如何,由于您的问题很大程度上依赖于指南/相关,我不确定 StackOverflow 是否适合进行此讨论。让我们更好地继续指南的评论部分。

关于php - nginx配置问题,端口已被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343560/

相关文章:

mysql - Datagridview 使用手动添加的列进行排序

macos - 在 macOS Catalina 中禁用 SIP 的只读文件系统

objective-c - Core-data : when accessing a relationship, NSSet 上的计数方法失败

Javascript 发布到表单 - 如果字段隐藏则无法工作

php - 确定商店是否营业?

mysql - 在mysql存储过程中使用concat创建json

MacOS Catalina PPTP.ppp 丢失

php - 在mysql中的行中显示相同的值并打印列值及其在php中的计数

php - 暂时禁用 blackfire 模块

php - PHP 和 MySql 中的空数组