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端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...
随机推荐
- pam_examples
blank.c /* * $Id$ */ /* Andrew Morgan (morgan@parc.power.net) -- a self contained `blank' * applicat ...
- binlog_server备份binlogs
在主库上建一个复制用的账号: root@localhost [(none)]>grant replication slave on *.* to 'wyz'@'%' identified by ...
- 【Educationcal Codeforces Round 21】
这场edu我原本以为能清真一点…… 后来发现不仅是七题 还有各种奇奇怪怪的骚操作…… A. 随便枚举 #include<bits/stdc++.h> using namespace std ...
- 360杀毒导致的 VS 报扩展错误,请查看 ActiveLog.xml
360杀毒将 TypeScript的 tsserver.js 列为木马,结果导致VS2017启动时,总是报错,将其加为信任即可解决.
- Qt发布可能遇到的问题
1.首先要搞清楚动态链接库还是静态链接 本文只涉及动态链接库,就是编译出来的exe文件加上Qt 的必要dll文件. 一般跟别人一样的操作,直接双击 XX.exe,提示缺少什么dll,就去Qt的安装目录 ...
- Flexigrid默认是可以选择多行
1.Flexigrid默认是可以选择多行,那么如何设置其只能选一行呢?今天看了看Flexigrid的源码,发现有个属性可以控制: $(this).click(function (e) { var ob ...
- JqGrid的学习
http://blog.csdn.net/yangbobo1992/article/category/1227409
- jquery 获取鼠标坐标
$("#x").text(event.pageX), $("#y").text(event.pageY);
- Codeforces 1082 B. Vova and Trophies-有坑 (Educational Codeforces Round 55 (Rated for Div. 2))
B. Vova and Trophies time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- 转:初探Windows Fuzzing神器----Winafl
转:http://www.tuicool.com/articles/j2eqym6 小结:找到感兴趣的函数,计算偏移,自动化fuzz. 这是一篇客座文章,作者是乌云二进制漏洞挖掘白帽子 k0shl . ...