最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经过重新百度完美地解决了这个问题,下面贴出解决方法:
一:原文地址: http://www.2cto.com/os/201505/399603.html
我的占用原因是 SQL Server Reporting Services,停止掉这个服务并设置其为手动启动即可
如果你并没有安装 SQL Server,请参考下文解决
===============================================================================
突然发现 80 端口被莫名占用,咋一看还是 System 这个进程
又无法结束这货,于是开始慢慢查看到底是什么东西占用了
首先,打开 cmd 跑这一句,80 端口被System 占用,肯定是 HTTP 服务搞的鬼
1
|
netsh http show servicestate |
看到 REPORTSERVER 略显疑惑
我们继续看,得到使用 80 端口的 PID了,还等什么?开 taskmgr!(任务管理器)
任务管理器查看 PID 的方法:
上方在 cmd 中,我们得到 PID = 4212,现在我们看看是什么东西在作怪
看到上图的结果,恍然大悟!如果大家不确定那是一个什么进程,我们对他右键 - 打开文件所在位置
这下大家应该都明白了吧。我这个占用的根本是 SQL Server 的报告服务
最后我去 services.msc 里停止他并设置这个服务为手动就搞定了。
如何查看当前 80 端口占用情况:
1
|
netstat
-ano | findstr 0.0 . 0.0 : 80 |
这段命令输入后回车,中间无内容即表示无占用
二:原文地址:https://www.caogenjava.com/detail/75.html
今天笔者想在server2008服务器上用80端口跑个项目,但是系统提示80端口被占用,端口被占用这在开发过程中是常见的事情,查一下被谁占用了,干掉他不就完了。一查不要紧,结果太诡异,使用netstat -ano命令查看,80端口被pid的为0的进程给占用了,用任务管理器一看,这个pid为0的进程竟然是系统闲置进程即system idle process,这个进程可是干不掉的,于是乎一通百度。
首先在一篇百度文库里找到了一篇帖子,说的是被sqlserver数据库给占用了,因为我那台服务器确实也安装了该数据库,原以为就是它的原因,但是按照文章中的说明处理之后80端口还是被占用,重启服务器之后依旧。那篇帖子地址是这个:《解决Windows Server 2008 System进程占用80端口》。
最终终于在其他帖子里找到了答案,废话不多说,直接上方案。
打开设备管理器,点击菜单栏中的查看-->显示隐藏设备,这时候你能看到非即插即用驱动程序,展开,找到HTTP,双击切换到驱动程序选项卡,将类型设为已禁用,确定,重启系统。(注:理论上,你直接点停止也是可以的,但是我点击之后系统总是卡死。禁用还是要设置的,否则系统重启之后80又被占用了)