80端口被system(pid=4)占用的解决方法

2019-04-23 14:46:51 7110

80端口一般被当做网页服务器的默认端口,使用本机搭建服务器环境的时候,都会默认使用80端口来作为网页访问端,但是有的时候80端口会被其他的不明身份的程序占用,导致 Apache 启动失败,修改 Apache 的默认端口后访问本机地址又非常麻烦。下面介绍一下如果80端口被占用后应该如何处理。

修改 Apache 的默认端口(强迫症不要用)

修改 Apache 端口的方法是最妥协的方法了,后果是当你开启 Apache 服务器的时候,访问的本机地址将会附带端口号,比如 http://www.landui.com:8888 。

修改方式是直接修改 httpd.conf 文件,文件的位置在 Apache 安装目录下的 conf 文件夹下,直接用记事本打开,找到 Listen 80 ,将80修改为其他未被占用的端口。

注:httpd.conf 文件中,以#开头的行是关闭的,不生效的,不以#开头的行是启用的。

查找80端口被谁占用的方法

进入命令提示行(开始运行输入 CMD),输入命令 netstat –ano ,就可以看到本机所有端口的使用情况,一般80端口在第一行,截图显示,端口已经被占用,PID 中写明 LISTENING 4。

端口占用情况

PID=4 的程序是哪一个呢?接着在命令提示和下输入指令 tasklist ,列出所有当前运行的进程,

发现 PID=4 的进程,居然是 system 。

系统进程

取消 system 进程对80端口的占用

其实本身我用的 Apache 好好的,只是突然不能启动了,回想在此期间新安装的软件,面子这么大,能让系统占用80端口的,也只能有 SQL Server 2008 了。经过查询,发现占用80端口的确是 SQL Server 2008 里面的组件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日志系统,就是他好端端的突然占用了80端口,而且对于普通人来讲,这个组件的作用没啥用,关掉也是节约资源。

关闭方法很简单,在运行框中输入 services.msc ,进入服务窗口。或者直接在开始菜单里面的搜索框中输入“服务”即可打开。然后找到 SQL Server Reporting Services (MSSQLSERVER) 这个服务,然后停止,被占用的80端口就被释放出来了。你也可以设置它的启动方式为“禁用”。

SQL Server Reporting Services

看清楚了,就是它。

另外的一个被占用的原因

除此之外,我还在网上找到了另外80端口被 system 占用的原因,就是微软家的 IIS 服务,关闭方式可以去控制面板去关闭即可。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: