尝试启动apache时遇到以下错误:
(OS 10013)尝试以其访问权限禁止的方式访问套接字。 :make_sock:无法绑定到地址0.0.0.0:80没有可用的侦听套接字,关闭。无法打开日志
我之前可以开始。我想在启用了Windows的.NET Framework 3.5功能之后。现在我无法正常启动它。我检查了端口:
netstat -aon|findstr "80"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP [::]:80 [::]:0 LISTENING 4
tasklist|findstr "4"
System Idle Process 0 Services 0 24 K
System 4 Services 0 304 K
如何解决这个问题?
答案 0 :(得分:2)
在线搜索解决方案之后,我看到有人指责MS SQL报告服务,所有MS SQL服务,Windows远程管理服务等。但是有一篇帖子有一个有用的诊断命令,可以跟踪w3svc的监听服务。 / p>
TMG is Unable to Listen on Port 80 (no IIS was not installed) by Ori Yosefi, MSFT, October 15, 2010
e:\DIR>netsh http show servicestate
Snapshot of HTTP service state (Server Session View):
-----------------------------------------------------
Server session ID: FF00000320000001
[..]
URL group ID: FE00000340000001
[..]
Registered URLs:
HTTP://*:80/
Request queues:
Request queue name: DefaultAppPool
[..]
Controller process ID: 2724
Process IDs:
5412
我可以使用tasklist命令看到在检测到的PID下运行的服务。
e:\DIR>tasklist /svc
[..]
svchost.exe 2724 W3SVC, WAS
[..]
我可以查询这些服务的配置详情。
e:\DIR>sc qc w3svc
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: w3svc
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Windows\system32\svchost.exe -k iissvcs
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : World Wide Web Publishing Service
DEPENDENCIES : WAS
: HTTP
SERVICE_START_NAME : LocalSystem
e:\DIR>sc qc was
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: was
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Windows\system32\svchost.exe -k iissvcs
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Windows Process Activation Service
DEPENDENCIES : RPCSS
SERVICE_START_NAME : LocalSystem
我无法阻止他们从普通用户的命令行运行。
e:\DIR>net stop w3svc
System error 5 has occurred.
Access is denied.
e:\DIR>net stop was
The following services are dependent on the Windows Process Activation Service service.
Stopping the Windows Process Activation Service service will also stop these services.
World Wide Web Publishing Service
Net.Tcp Listener Adapter
Net.Pipe Listener Adapter
Do you want to continue this operation? (Y/N) [N]: y
System error 5 has occurred.
Access is denied.
然后我通过服务GUI services.msc
停止了万维网发布服务。我还将此服务的启动类型更改为手动。之后没有服务侦听TCP端口80。
e:\DIR>netstat -ano
[..no process listening on TCP port 80..]
答案 1 :(得分:0)
也许你已经达到了TCP时间等待状态? http://msdn.microsoft.com/en-us/library/ms819739.aspx
“TIME-WAIT确保已经过了足够的时间来确保可能已经错误路由或延迟的任何TCP段未意外地传送到具有相同连接设置的新的无关应用程序.RFC 793:传输控制协议DARPA Internet程序协议规范指定不应将套接字对重用为两个最大段寿命(MSL)或四分钟的时间长度。此时间段是Windows Server 2003 TCP / IP的默认设置。“
服务器应用程序通常使用SO_REUSEADDR
套接字选项,以便可以快速重启,但是您的Apache版本可能没有?
四分钟后你会知道它是否“正常”。 :)