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

原创 萧瑟  2018-01-23 10:44:44  阅读 487 次 评论 3 条

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

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

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

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

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

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

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

801.jpg

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

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

802.jpg

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

其实本身我用的集成环境PHPstudy好好的,80端口突然不能使用了,关闭了IIS还是没用,回想在此期间新安装的软件,一般只有微软出的才能是System,能让系统占用80端口的,也只能有 SQL Server 2008 了。经过查询,发现占用80端口的确是 SQL Server 2008 里面的组件——SQL Server Reporting Services (MSSQLSERVER)。是 SQL Server 的日志系统,就是他好端端的突然占用了80端口,而且对于普通人来讲,这个组件的作用没啥用,关掉也是节约资源。


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

803.png

也可以在Sql Server配置管理器中关闭,都是很简单的操作。

804.png

PS:之前一直使用的是SQL Server2012 没出现过这种情况,估计是低版本的一些BUG吧。


希望此教程,能够给大家带来一些解决思路。

本文地址:https://www.xsyrz.cn/system-tcp-80-Relieve.html
版权声明:本文为原创文章,版权归 萧瑟 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. 友链博客
    友链博客  @回复

    (#^.^#),博主你好,我的网站域名已更换,希望博主看到后能尽快更新链接(*╹▽╹*),原域名emlog.club,现域名asscw.com ——友链博客

  2. 西顾
    西顾  @回复

    哇塞!