为什么系统进程在端口80上侦听?


81

我正在运行Windows 7 RC1。在使IIS在我的系统上运行时,我遇到了多个问题;今天,当我安装一个新应用程序并尝试使用http:\ localhost \ MyApplication加载它时,我完全没有错误,也没有页面加载。只是一个漂亮的白色空白页。

我进行了一些挖掘,发现了一些其他有关侦听端口80的进程的信息,因此我使用进行了扫描netstat -aon | findstr 0.0:80,发现PID 4正在侦听该端口。

PID 4没有显示在任务管理器中,因此我启动了Process Explorer,它向我显示PID 4是System进程。(多次Google搜索似乎表明系统始终使用PID 4)。

从那以后,我基本上陷入了困境。我不知道为什么系统需要端口80以及如何处理。

如果您搜索以下字符串,则会在搜索结果顶部找到两篇有用的Experts-Exchange文章,您可以阅读它们以获取一些有用的信息。

(如果我在页面上提供了直接URL,则Experts-Exchange会要求您付款...但是,当您单击Google搜索的结果时,您可以一直滚动到底部以阅读交易记录。)

这是谷歌搜索...
“系统进程正在侦听端口80(Vista)”
“系统进程正在侦听端口80并阻止IIS默认网站运行”

第一个结果的最后一个条目显示了如何在以下URL上跟踪http.sys:

http://blogs.msdn.com/wndp/archive/2007/01/18/event-tracing-in-http-sys-part-1-capturing-a-trace.aspx

跟踪显示没有任何用处。有什么想法吗?


除了这里我尝试了所有建议的答案而且什么都没有,这里还是同样的问题。我不能只是开始关闭服务,因为这是一个异地云服务器。
杰里·道奇

您是不是要运行Windows 7 SP1,而不是RC1?
cmorse 2012年


也许那实际上并不能解决您的问题,无论如何,您可以将Apache端口更改为8080...好吧,这不是解决方案,但是可能暂时起作用,直到您获得适当的解决方案为止。@rakslice解决方案对我解决了问题
Girardi

Skype的事情就是解决方案!关闭Skype并启动Apache。完成了!
Codebeat 2013年

Answers:


28

有关使Apache在Windows 7的端口80上运行的文章(互联网档案)描述了您的观点。

http.sysWindows 7默认情况下似乎启用了' '(Windows Remote Management?)服务。请
浏览该链接上的注释以获取更多注释...

hypen-site不一定有唯一的答案。


1
另一篇好文章:devside.net/wamp-server/…–
thorn

2
而今天这对于Windows 8.1仍然有意义
Sverrir Sigmundarson 2014年

3
该网站离线。您可以在答案中添加基本信息吗?
fixer1234

4
对我来说是万维网发布服务-被默认设置为自动,并且必须使用端口80
rockerston

1
从Windows 7升级到Windows 10,并且将万维网发布服务打开为自动。疯狂,因为我什至不使用IIS。
Phil_1984_

49

“ Web部署代理服务”作为系统在端口80上运行。如果使用的是WebMatrix,则可能正在运行此程序。


相关链接:eat.cheezburger.com/author/johnc。我卸载了列出的两个图表:“ Microsft Web Deploy 2.0”和“ Web Deployment Tool”(以及WebMatrix本身)
Frank Schwieterman 2011年


1
有关如何更改此端口的信息,请参见stackoverflow.com/questions/5867392
tony722

我停止了Web Deployment Agent服务,并将其设置为“手动启动”,然后确认我仍然可以从Visual Studio发布到此服务器上的IIS,一切都很好。端口80现在对我可用,我的其他功能仍然有效。
JMD

net stop "Web Deployment Agent Service"为我释放了80。
Philippe Signoret

46

打开Services.msc并停止此服务“ SQL服务器报告服务(MSSQLSERVER)”

在此处输入图片说明

我尝试了一切,但是对我有用:

下面是有关如何停止该服务的进一步说明

  1. 右键单击我的电脑
  2. 选择管理
  3. 双击服务和应用程序
  4. 然后双击服务
  5. 右键单击“ SQL服务器报告服务(MSSQLSERVER)”
  6. 选择停止 ...,瞧,端口80已释放

7
+1。就我而言,确实是SQL Server。
阿萨夫·利维

这也对我有用。我停止了所有与SQL相关的服务(包括这一服务),并释放了端口80。
Mark Lakata 2012年

+1,但我确实需要运行SSRS,所以我想我需要告诉SSRS使用其他端口吗?
克里斯·莫特雷

“不使用那个端口?我接那个!噢,抱歉你需要那个吗?你没收到备忘录吗?”
batCattle 2014年

1
@AssafLevy您的评论对人和事物都是有害的,并且可能使某些人认为答案不尽如人意。不是SQL Server,而是SQL Server报告。SQL Server在
3306

19

您可以从命令行临时停止HTTP服务:

  1. 运行管理员命令提示符(例如,开始,搜索cmd,右键单击它,选择“以管理员身份运行”,批准UAC提示符(如果有)。)
  2. 类型 net stop HTTP
  3. 如果还有其他正在运行的服务依赖于HTTP服务,则将获得一个列表;请仔细检查,看看是否有任何您不能缺少的内容。或者,如果您只是停止HTTP临时使用端口80,请记下要在端口使用完毕后重新启动的那些相关服务。无论哪种方式,如果可以,请输入y以继续。
  4. 某些从属服务可能会抛出停止控制警告,以取消操作;重复net stop HTTP直到它停止为止(即直到它说The HTTP service was stopped successfully.
  5. 稍后,您可以使用net start或通过使用管理工具中的“服务”项来重新启动任何从属服务,HTTP服务将自动重新启动。

1
这对确定依赖服务非常有帮助-谢谢!
罗里

这是我的解决方案!
Girardi 2013年

对我来说,它停止了所有相关服务,然后说“无法停止HTTP服务”,然后net stop http再次启动告诉我“稍后重试”。我的系统有什么问题:-)
Tominator

使用net stop HTTP对我有用。
Paul Williams

如果获得try again later message,则可能正在运行Microsoft Web Deployment Service。support.microsoft.com/kb/2597817如果您实际上是在使用它来维护IIS,则您可能首先不想停止HTTP =)。
rakslice 2015年

3

telnet localhost 80返回HttpAPI / 2.0,这又意味着“ Sql服务器报告服务”。停止相同将释放端口80。


我发现SQL Server报告服务也是罪魁祸首。
JT 2012年

这是一个有用的调试工具,使用“ telnet”可以获得比网络浏览器更多的信息。谢谢。SQL Server报告服务也是我的罪魁祸首。
Mark Lakata

0

使用ProcessExplorer,运行它,打开每个进程(服务)的TCP / IP属性,找到侦听http(80)端口的进程(服务)并将其关闭。

我发现Autodesk EDM Server正在监听http(80)端口。


3
这不适用于系统内部运行的服务(即PID为4)
N Reed

我认为您最好使用“ netstat -anbo”。它会告诉你直线上升的是80端口上...除非是PID 4
马克Lakata
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.