[转]解决80端口被PID=4服务占用的问题,三个思路

引自:https://blog.csdn.net/weixin_45866737/article/details/122594326

前言

后端在为服务配置端口时,我们可以配置80端口。因为浏览网页服务默认的端口号都是80,因此只需输入网址即可,不用输入“:80”了。Nginx的默认端口也是80。

不过,有时候,80端口会被占用,有可能是被ntoskrnl.exe应用程序占用,有可能是被电脑的SQL Server占用,也有可能是被IIS服务占用。通过网上搜集以及自身遇到的问题,总结了三个解决方法。

第一步,通过查找,可以找到,80端口被System这个服务占用。

cmd命令口输入netstat -ano |findstr 80,找到80端口的PID=4,再到任务管理器中查看。

 该服务无法结束。

一、ntoskrnl.exe 占用 80 端口

通过右键,属性,看到该服务是调用了ntoskrnl.exe。

 ntoskrnl.exe 是 Windows 操作系统的一个重要内核程序文件,里面存储了大量的二进制内核代码,用于调度系统。在系统经过预启动和启动阶段后进入内核调用阶段时由 Ntldr 调用 ntoskrnl.exe, 在 Windows XP 系统中 +ntoskrnl.exe 存储了启动 logo 画面。 调用 ntoskrnl.exe 文件时将由 ntdetect.com 收集的硬件信息传递给它,同时被调用的还有 hal.dll 文件。在正常情况下,在任务管理器是以"System"的名字出现的。

上述是百度百科对ntoskrnl.exe的解释,因此,我们不能随意就结束掉这个任务。

解决方法:

1、搜索服务打开服务界面:

 

2、找到World Wide Web 发布服务这个服务,右键属性,将它的启动类型改为手动,然后停止掉该服务。

 二、关闭SQL Server服务

如果上一种方法无法解决,我们可以看看本方法:

有可能你电脑里有SQL Server这个软件,它会占用你的80端口。

解决方法:进入服务界面后,找到 SQL Server Reporting Service(MSSQLSERVER)这个服务,停止即可。

 

三、修改注册表

win+R,输入regedit,打开注册表。

 通过路径 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP 找到 Start ,将它的值修改为0,然后电脑重启即可。

 

posted @ 2023-05-10 09:23  violety  阅读(323)  评论(0编辑  收藏  举报