首页 > 代码库 > Nt Kernel & System 占用80端口

Nt Kernel & System 占用80端口

今天早上apache突然无法启动,重启电脑仍然没有结果,经过一番努力终于解决了,过程如下:

首先查看apache错误日志:

1.删除apache>>logs>>error.log,重启apache查看这个文件发现内容如下:

(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  : make_sock: could not bind to address [::]:80
(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。  : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

2.win+R 运行cmd 输入:netstat -ano 注意netstat和-中间要有个空格,在结果集“本地地址”中找到[: :]:80也就是apache默认的端口,找到它对应的PID

我这里发现PID:4

3.Alt+Ctrl+Delete启动任务管理器 >>查看>>选择列>>勾选 PID (进程标识符)

4.找到PID为4的进程,我这里显示是 映像名称:system 描述:NT Kernel & System

一看是系统进程吓一跳,怎么办?

这样解决的:

该进程是Http.sys。它是http API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。这就是阻止Apache运行的原因,因为Http.sys占用着80端口。

5.运行:net stop http 按Y 确定

6.运行:Sc config http start= disabled

7.重启Apache ,哇塞!启动了!