一、问题背景

在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,直接空着就好!汗颜了,自己之前的一个误操作,搞了大半天才发现是这样的一个乌龙。

参考文章

80端口被占用了怎么办?

搭建IIS服务器80端口却已被占用的问题和用了Sc config http start= disabled命令导致HTTP服务无法启动的解决方案

IIS服务器80端口却已被占用的问题的更多相关文章

  1. 注意,WebDeploy服务会占用80端口。(Windows关闭了IIS,80端口任然被占用)

    最近遇到一个很奇怪的事情,Windows上的 IIS 网站 全关掉了,80端口仍然被占用.然后我新装了一台服务器,一个一个组件地装,装一个测一次,最后发现,WebDeploy这个组件,会占用80端口. ...

  2. 实现tomcat与IIS共用80端口

    一.80端口被system占用的问题 目前生产环境的需要两种方式网站发布: [1].使用IIS发布.net开发的网站: [2].使用tomcat发布java开发的网站: 启动tomcat的时候发现无法 ...

  3. apache和IIS共享80端口问题

    使用apache代理功能和IIS共享80端口的解决办法. 第一步:把iis所发布的网站默认端口由80改为8080: 第二步:修改apache的httpd.conf配置文件.  首先,要让apache支 ...

  4. apache和IIS共享80端口解决办法

    第一步:把iis所发布的网站默认端口由80改为8080:第二步:修改apache的httpd.conf配置文件. 首先,要让apache支持转发也就是做iis的代理那么就要先启 用apache的代理模 ...

  5. apache与IIS共用80端口冲突解决方法

    如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...

  6. 解决IIS Express 80端口被占用的情况

    VS2012运行站点的时候提示“无法启动IIS Express Web服务器,端口80正在使用” 于是CMD查看了一下端口使用情况,并且在任务管理器中查看相应的进程,但始终觉得不对,因为显示是Syst ...

  7. linux 下 nginx 启动服务器 80端口被占用问题

    把80端口占用的程序杀死 sudo fuser -k 80/tcp rm -fr 文件   ----删除文件及文加下的所有文件 echo > filename  ---清空文件的内容

  8. 【Nginx】使用nginx反向代理IIS实现80端口的解放

    下载版本: 官网地址:http://nginx.org/en/download.html 我使用了稳定版本. 下载完成之后进行目录解压,解压之后大概就是这个样子: 网上很多人写这些了想了解概念的百度一 ...

  9. Windows下80端口被进程System占用的解决方法

    最近电脑时不时就发生了80端口被占用的情况,简单百度解决后,当重启电脑的时候又发生被占用的情况.今天非常幸运的是,发生了80端口和8080端口都被占用了情况,忍无可忍决定下定决心解决这个坑爹的问题,经 ...

随机推荐

  1. FreeRADIUS + MySQL 安装配置笔记

    FreeRADIUS + MySQL 安装配置笔记 https://www.2cto.com/net/201110/106597.html

  2. jQuery 选中tr下面的第某个td

    1.问题描述 点击 table 中的某行 tr,获取该 tr 下的第一个 td 标签下的< input type="hidden" value="92"/ ...

  3. Git——Git常用命令速查表

  4. Dubbo之旅--注册中心

    在介绍Dubbo的内部逻辑的时候提到很多次注册中心的概念.实现注册中心的有很多,主要是以下四个注册中心分别是: Multicast注册中心 Zookeeper注册中心 Redis注册中心 Simple ...

  5. php的设计模式

    1.单一职责原则 单一职责原则(Single Responsibility Principle) 含义:1.避免相同的职责分散到不同的类中,2.避免一个类承担太多的职责: srp的好处: 减少类之间的 ...

  6. NYOJ 10 skiing(好题)

    skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  7. 【JBPM4】流程任务变量存取

    任务变量与流程变量的操作相同,前者帮定任务ID,后者绑定流程ID. 添加任务变量 //创建流程引擎 ProcessEngine processEngine = Configuration.getPro ...

  8. docker容器中文件的上传与下载

    原文地址:传送门 1.上传文件 docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH [OPTIONS]:保持源目标中的链接,例: docker cp ...

  9. Centos7安装和配置Jira7.3.6

    (1)安装jdk 1.下载jdk 链接:https://pan.baidu.com/s/1umdV-Cmm1wi1RP5clIJXmg 密码:zevc 2.安装jdk rpm -ivh jdk-8u1 ...

  10. 转:Python安全 - 从SSRF到命令执行惨案

    转:https://www.leavesongs.com/PENETRATION/getshell-via-ssrf-and-redis.html Python安全 - 从SSRF到命令执行惨案 PH ...