IIS服务器80端口却已被占用的问题
一、问题背景
在IIS中发布一个asp网站,发现无法使用80端口,错误为“无法启动该网站。其它网站可能正在使用同一端口”。但其实IIS的其它网站已经没有使用该端口了。这就需要设计到,找到那个进程占用这个80端口的问题了。
二、找到80端口被哪个进程占用
1、使用电脑快捷组合建Win+R打开快速运行,在运行窗口中输入“cmd”命令点击回车确定调出管理员命令提示符,紧接着输入netstat -ano |more,或netstat -ano >result.txt, 再或者netstat -ano|findstr "80"
点击回车后,显示出一大段文字,找到 "本地地址" 为 0.0.0.0:80 的一行,在行的最后我们会看到 PID为"4"。记住次PID;如下图所示:

3、打开Windows任务管理器,在进程中找到PID为"4"的程序,如下图所示:显示80端口被pid4 system占用。
三、80端口被进程占用解决
分析端口被占用原因:
该进程是Http.sys。它是http API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。通过netsh http show servicestate 命令能找出是哪个应用程序在使用Http.sys。
解决问题:
可以禁用http.sys。
禁用http.sys进程可以通过命令提示符来完成,首先输入net stop http,然后确认继续操作,在输入Sc config http start= disabled即可停止该项服务。
且慢!
以上方式的禁用HTTP的方式,将直接导致IIS不能发布网站而丧失功能。如果此时你使用Tomcat或者Appache发布也无妨,如果再使用IIS发布网站将遭殃了。
此时,网上的教程是开启Word Wide Web Publishing Service,但是,你真的去操作了,将无论如何也无法开启服务。此时,解铃还须系铃人,是因为以上的操作的原因,看好了。否则你将被网络上的所谓的解决方法弄的一头雾水。
四、解决禁用HTTP造成的IIS无法使用的问题
对于之前是因为输入了
net stop http
sc config http start=disabled
付出的代价再要回来。
第一步:在命令提示符里输入
sc config http start=demand & net start http就行了。
第二步:你要是不放心,再输入
sc config http start=enabled,它会提示所请求的服务已经启动。
第三步:再输入netstat -ano验证下会发现
80端口又被pid=4的东东占用了。
4.更改好之后,启动world wide web publishing service,然后应该可以搭建服务器了。之后最好重启下电脑(不重启应该没关系,重启之后world wide web publishing service会自动启动,不需要手动了,要是你还是有问题,我也黔驴技穷了。) good luck!
五、最终问题该如何解决
那么问题来了,如何让System进程4不占用80端口?

问题解决的正确打开方式是,在网站绑定设置时,不要在主机名那里设置本机的IP,直接空着就好!汗颜了,自己之前的一个误操作,搞了大半天才发现是这样的一个乌龙。
参考文章
搭建IIS服务器80端口却已被占用的问题和用了Sc config http start= disabled命令导致HTTP服务无法启动的解决方案
IIS服务器80端口却已被占用的问题的更多相关文章
- 注意,WebDeploy服务会占用80端口。(Windows关闭了IIS,80端口任然被占用)
最近遇到一个很奇怪的事情,Windows上的 IIS 网站 全关掉了,80端口仍然被占用.然后我新装了一台服务器,一个一个组件地装,装一个测一次,最后发现,WebDeploy这个组件,会占用80端口. ...
- 实现tomcat与IIS共用80端口
一.80端口被system占用的问题 目前生产环境的需要两种方式网站发布: [1].使用IIS发布.net开发的网站: [2].使用tomcat发布java开发的网站: 启动tomcat的时候发现无法 ...
- apache和IIS共享80端口问题
使用apache代理功能和IIS共享80端口的解决办法. 第一步:把iis所发布的网站默认端口由80改为8080: 第二步:修改apache的httpd.conf配置文件. 首先,要让apache支 ...
- apache和IIS共享80端口解决办法
第一步:把iis所发布的网站默认端口由80改为8080:第二步:修改apache的httpd.conf配置文件. 首先,要让apache支持转发也就是做iis的代理那么就要先启 用apache的代理模 ...
- apache与IIS共用80端口冲突解决方法
如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...
- 解决IIS Express 80端口被占用的情况
VS2012运行站点的时候提示“无法启动IIS Express Web服务器,端口80正在使用” 于是CMD查看了一下端口使用情况,并且在任务管理器中查看相应的进程,但始终觉得不对,因为显示是Syst ...
- linux 下 nginx 启动服务器 80端口被占用问题
把80端口占用的程序杀死 sudo fuser -k 80/tcp rm -fr 文件 ----删除文件及文加下的所有文件 echo > filename ---清空文件的内容
- 【Nginx】使用nginx反向代理IIS实现80端口的解放
下载版本: 官网地址:http://nginx.org/en/download.html 我使用了稳定版本. 下载完成之后进行目录解压,解压之后大概就是这个样子: 网上很多人写这些了想了解概念的百度一 ...
- Windows下80端口被进程System占用的解决方法
最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...
随机推荐
- AspxGridView 表中的ASPxHyperLink不导出到excel
在软件中 因为要连接到其他的页面所以类型转成了ASPxHyperLink,但是用官方的导出控件导出到excel之后,连接依旧保留着, 目的:去除导出来的连接 方法:把之前的ASPxHyperLink转 ...
- 改变ASPxpivotgridview弹出的prefilter的标题
说是要给变标题,再网上找了很久的资料,基本上属于一无所获,后来在官网上看到一个技术支持用vb写的,说是要本地化什么的,个人技术有限不是太懂 后来干脆就直接注册个账号,发问了,好歹等到了晚上十点左右,有 ...
- mybatis 联结查询
一.查询 员工(tbl_employee)时,关联 查询出 员工对于的部门信息 (tab1_dept),一对一查询,或者多对一查询 适用 emp bean里面 包含 部门bean dept属性对象 1 ...
- HDU-2819
Swap Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- redis之(二)redis单机的安装,配置,启动,关闭
[1]下载redis压缩包,解压,编译
- JS作用域和ASP(vbs)作用域比较
一.js作用域,先上图: 以上代码执行的效果是,依次弹出 undefined, undefined, a, a,为什么是这样的结果啦?因为JS的作用域为链式作用域. 作用域链: 用VAR声明一个变量时 ...
- [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
问题 想要 ASP.NET Web API 执行模型验证,同时可以和 ASP.NET MVC 共享一些验证逻辑. 解决方案 ASP.NET Web API 与 ASP.NET MVC 支持一样的验证机 ...
- 四十六 常用内建模块 itertools
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数. 首先,我们看看itertools提供的几个“无限”迭代器: >>> import itertools ...
- 嵌套循环连接(Nested Loops Joins)
The nested loops join, also called nested iteration, uses one join input as the outer input table(sh ...
- HDU 1016.Prime Ring Problem-素数环,相邻两数和为素数-DFS
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...