对于此类问题非常新,我正在尝试在端口 80 上启动服务器(使用这个特定端口对我来说很重要)。
它失败了,但它可以在其他端口上工作(即使当我是 root 时
我可能有一些东西在端口 80 上运行,我想识别它以便更改其侦听端口。
我看到这个命令可以帮助查看特定端口的状态:netstat -ano|grep 80|grep LISTEN
但我不确定你是否理解结果。
这是我得到的:
tcp 0 0 127.0.0.1:28017 0.0.0.0:* LISTEN off (0.00/0/0)
tcp6 0 0 :::80 :::* LISTEN off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 8805 /tmp/mongodb-27017.sock
unix 2 [ ACC ] STREAM LISTENING 13112 /home/me/.pulse/04d802bb34ddb9da49b1f9060000000b-runtime/native
我在第2行看到80端口似乎没有监听,但不明白进一步。
UPDATE:
sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 1107 root 4u IPv6 7630 0t0 TCP *:http (LISTEN)
apache2 1131 www-data 4u IPv6 7630 0t0 TCP *:http (LISTEN)
apache2 1132 www-data 4u IPv6 7630 0t0 TCP *:http (LISTEN)
apache2 1133 www-data 4u IPv6 7630 0t0 TCP *:http (LISTEN)
apache2 1134 www-data 4u IPv6 7630 0t0 TCP *:http (LISTEN)
apache2 1136 www-data 4u IPv6 7630 0t0 TCP *:http (LISTEN)
ubuntu-ge 2095 me 7u IPv4 82145 0t0 TCP me-Ubuntu.local:43345->mulberry.canonical.com:http (CLOSE_WAIT)
谢谢(我用的是ubuntu)!
如果这是 Linux(也许还有其他一些 UNIX,但不是 MacOS),请尝试运行以下命令:
sudo netstat -lnp
您将得到类似于以下内容的输出:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
...
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26156/apache2
...
我将列出有趣的部分:
- 本地地址:0.0.0.0:80- 有问题的地址是所有接口上的端口 80。
- State: LISTEN- 它在听
- PID/程序名称 -26156/阿帕奇2- 正在侦听端口的进程的 ID 和名称。
您基本上想要确保上面提到的程序没有运行(例如,就我而言,我必须关闭 apache2 守护进程,并将操作系统配置为在下次启动时不自动启动它)。
另一方面,如果您只是想快速解决此问题,则可以终止该进程:
kill -9 <pid>
在我的例子中:
kill -9 26156
当然,下次重新启动或有人启动该服务时,问题将会再次出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)