相关疑难解决方法(0)

我的 OSX 机器上的端口 8080 是怎么回事?

我认为我提出的 Web 服务器进程正在侦听 localhost:8080,并尝试连接到它,但一直收到连接重置错误。事实证明,我错了,我的进程正在侦听一个完全不同的端口。

然而,我无法理解的是为什么我会收到连接重置错误,而不是如果没有进程在该端口上侦听,通常会得到“连接被拒绝”。据我所知,在 8080 上没有其他东西可以收听:

$ sudo lsof -i -P  | grep 8080
# no result
$ sudo netstat -a -n  | grep 8080
# still no result
Run Code Online (Sandbox Code Playgroud)

然而,最初接受与此端口的连接(尽管在进一步数据时关闭):

$ /usr/local/bin/wget localhost:8080
--2014-01-14 16:29:22--  http://localhost:8080/
Resolving localhost... ::1, 127.0.0.1, fe80::1
Connecting to localhost|::1|:8080... failed: Connection refused.
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... No data received.
Run Code Online (Sandbox Code Playgroud)

与 telnet 类似:

$ telnet localhost 8080
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to …
Run Code Online (Sandbox Code Playgroud)

networking tcp netstat ports macos

6
推荐指数
1
解决办法
6535
查看次数

无法让 Nginx 在端口 80 上工作。在任何其他端口上都可以正常工作

我刚刚在 Mac OS X 10.11 (El Capitan) 上设置了 Homebrew 的 Nginx。

如果我像这样设置我的 Ngnix 配置:

listen      127.0.0.1:8080;

listen      127.0.0.1:81;

listen      127.0.0.1:75;
Run Code Online (Sandbox Code Playgroud)

它会工作。但是如果我把它放在那里:

listen      127.0.0.1:80;
Run Code Online (Sandbox Code Playgroud)

它不会。如果我去,我会被拒绝连接http://127.0.0.1

ps说 Nginx 正在运行,但netstat -a | grep nginxnetstat -a | grep 80说它不是。

当然,以 root 身份运行它(不是我需要它来运行 :8080

Mac OS X 防火墙没有运行。

错误日志不再显示:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我可以使用它运行8080(奇怪的是,当我运行时8080,它会打开80端口并将其重定向到80)。

port nginx ps macos

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

macos ×2

netstat ×1

networking ×1

nginx ×1

port ×1

ports ×1

ps ×1

tcp ×1