我已经检查了 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,您将在左侧窗格中看到该进程。这样您就可以停止或禁用服务器,该工具甚至允许您终止该进程。