Apache:PID 4 正在使用端口 80

Apache:PID 4 正在使用端口 80

我已经检查了 stack overflow 上的所有答案,但是都没有用!

我正在尝试通过 IIS 安装 Apache(我禁用了端口 80 和 443 上的所有 IIS 站点)。我禁用了防火墙。

但是,当我安装 Apache 时,出现以下错误:

(OS 10048)
Only one usage of each socket address (protocol/network address/port) is normally permitted. : 
make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs

编辑:netstat -an|find "TCP"|find /v /c "asdadasd" 的输出:

C:\Users\Administrator>netstat -an|find "TCP"|find /v /c "asdadasd"
172

编辑2: sc 查询 W3SVC 的输出:

C:\Users\Administrator>sc query W3SVC

SERVICE_NAME: W3SVC
    TYPE               : 20  WIN32_SHARE_PROCESS
    STATE              : 1  STOPPED
    WIN32_EXIT_CODE    : 1068  (0x42c)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0

答案1

检查 0.0.0.0:80 上是否没有任何内容正在监听:

netstat -anb > netstat.txt
notepad netstat.txt

检查在 apache 配置中是否只为 0.0.0.0 定义了一次监听器。搜索Listen指令。Listen 0.0.0.0:80与 相同Listen 80

看:http://httpd.apache.org/docs/2.2/mod/mpm_common.html#listen

答案2

您需要找出本地服务器上哪个程序/服务正在使用端口 80。一种方法是使用tcpview实用程序,它将为您提供所有打开的端口以及与该端口相关的程序的列表。在 TCPView 窗口中,按“本地端口”排序,查找端口 80,您将在左侧窗格中看到该进程。这样您就可以停止或禁用服务器,该工具甚至允许您终止该进程。

相关内容