正在加载...

虽然我这个blog(www.awflasher.com/blog/)跑在Linux服务器上,但许多调试工作还是只能用WAMP体系,即,Windows+Apache+MySQL+PHP,许多人对这个体系很是鄙视,其实我认为,如非必须使用Windows,谁也没有必要这样来用Apache,因此,苹果粉丝和命令行专家可以绕过此文了:)

下面,我来谈一谈我在配置WAMP时频繁遇到的一个问题:80端口占用。(非IIS占用)

两年多以前,我曾经发现Skype有这个坏毛病(由于用Skype不多,现在我也不知道Skype的目的在何,欢迎赐教)。几个月前,又发现PPLive也有这个毛病,只不过那次根据处理Skype问题的经验,我很快就解决了。今天,又再次遇到这个问题时,我困惑了:既没有PPLive,也没有Skype,80还是被占用了。用netstat看端口的pid,也发现很奇怪:有时候不显示80,有时候又显示为0,这是系统限制资源,显然不是我要找的“元凶”。

Google了“pid 0 80 port”,看到了答案

Try typing ‘netstat -ao’ (with an ‘a’) at CMD and that will give you a list of everything running on each port.

我一眼就看到了那个“罪魁祸首”:

C:\Users\awflasher>netstat -ao
Local Address Foreign Address        State           PID   TCP
TCP 0.0.0.0:21             Pacers:0               LISTENING       511
TCP 0.0.0.0:80             Pacers:0               LISTENING       6421

用tasklist的FILTER,我们可以很快找到这个进程:

C:\Users\awflasher>tasklist /FI "PID eq 6421"
Image Name                     PID Session Name        Session#    Mem Usage 
========================= ======== ================ =========== ============ 
MxDownloadServer.exe          6421 Console                    1      7,980 K 

原来是我电脑中“遨游浏览器”的进程。我使用遨游只是为了调试页面代码,这里我不做评价,浏览器这种敏感的话题,人各有志,各取所好。

PS:看了看netstat的帮助,分别如此描述-a和-o,也就明白了:

-a            Displays all connections and listening ports.

-o            Displays the owning process ID associated with each connection.

在本地用WAMP调试WordPress的blogger如果遇到类似的情况(症状主要是Apache无法启动),则可以用netstat -ao和tasklist来查出80端口到底被谁抢占了。

附,我所知道的Windows上一些默认占用80端口的非Web服务器类软件清单,欢迎补充:

  • Skype
  • Web迅雷
  • PPLive(可能是pp.tv,我懒得管了)
  • 傲游浏览器自动更新
  • 迅雷默认的BT上传端口(网友补充)
  • fs2you网盘(网友补充)
  • Cisco IP Communicator(网友补充)
  • QQMusic(网友补充)
还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 44 条评论
  1. TanCee 2008-10-06 03:57:14

    不管什么东西我都会关闭自动更新,除非强制性的。

  2. HK 2008-10-06 04:01:58

    学到了点东西,有点复杂

  3. 老宋 2008-10-06 04:17:19

    迅雷的默认BT上传端口也是80,大概是为了突破配置不佳的防火墙。

    在Windows下Sysinternals的tcpview会比netstat更好用,个人觉得。

  4. benben 2008-10-06 04:36:42

    netstat -nao |find “80”

  5. benben 2008-10-06 04:38:02

    他们用80端口可能是为了躲避屏蔽,很多时候都不会屏蔽80端口。

  6. benben 2008-10-06 04:39:25

    netstat -nao |find “0.0.0.0:80”

    上面那个双引号搞错了。

  7. cloudchen 2008-10-06 04:39:30

    还有常用的fs2you

  8. benben 2008-10-06 04:46:36

    看来是你系统问题,自动帮我转换了引号,防止注入?

  9. 王者之剑 2008-10-06 04:54:56

    这几兄弟装在一起,80端口会被谁占用?
    TCPView这个工具可以查看端口占用情况。
    用这个找到相应的程序,然后停止相关服务。

    • aw 2008-10-06 05:35:18

      这几个兄弟装一起肯定是看开启顺序了:)
      另,感谢推荐这个工具。我用的是Process And Port Analyzer 2.0,但并没有在文章中推荐,因为一个netstat和tasklist足够了:)

  10. Jerry Qu 2008-10-06 05:21:18

    迅雷5也会占用80端口,很让人郁闷的!
    傲游下载模块是由迅雷提供的,把这很不好的习惯也继承过来了。。。
    发现自己越来越讨厌傲游这种IE SHELL!

  11. 小七 2008-10-06 06:14:45

    Fs2you网盘的下载工具也会占用80端口,是一个叫peer.exe的进程,而且没有任何提示,好像是只要使用过,即使以后不启动软件这个进程也会存在

    • aw 2008-10-06 06:27:46

      恩,想起来了,我用过那个。不过似乎不是peer.exe,而是一个更长的名字?

  12. Loveyuki 2008-10-06 06:19:59

    傲游下载用的是迅雷的技术。估计因为这个原因所以也占用80端口吧。

    • aw 2008-10-06 06:26:35

      这个是遨游的自动升级进程吧?
      不管了,反正占用80我个人都不会用:(

      • Loveyuki 2008-10-07 07:46:15

        MxDownloadServer 是傲游下载服务,MxUP 是傲游更新服务。

  13. Andrew Chan 2008-10-06 06:24:43

    Cisco IP Communicator
    软电话
    老是占我端口 于是我就灭之
    于是公司的人打我电话总是不通。。。

  14. colder 2008-10-06 06:57:41

    听你这么一说
    我估计我的80端口搞不好真的是被迅雷5给占用了

    因为我在调试WCF服务的时候 也有这样的困惑

  15. Showfom 2008-10-06 07:19:49

    是pps.tv么?pp.tv只是个搜索

    好像和pplive都没什么关系诶

  16. Fdream 2008-10-06 07:35:39

    PPLive用的是8888,PP.tv(PPVA)是9000,迅雷最喜欢用80,有段时间居然让我的IIS都起不来……

    • aw 2008-10-06 10:14:06

      呃。我确认是PPlive的某一个功能。你确认下:)?

  17. colder 2008-10-06 07:50:35

    试试这段批处理

    直接运行的话要把双百分号换成单的

    for /f “tokens=2,5 delims= ” %%a in (‘netstat -aon’) do if %%a==0.0.0.0:80 tasklist /fi “pid eq %%b”

  18. 中子星 2008-10-06 08:06:19

    迅雷5也有过,迅雷下载是不错,占用80有点不厚道

    • colder 2008-10-07 07:48:42

      正解

      我发现果然是迅雷的问题

      不过让我昏倒的是
      迅雷5 -> 工具 -> 配置 -> BT/端口配置
      TCP端口赫然显示 [ 80 ]
      难道这个是安装的默认值么?

  19. 优酷 2008-10-06 08:11:22

    试试这段批处理

    直接运行的话要把双百分号换成单的

  20. cosbeta 2008-10-06 08:38:48

    cterm 估计这个东西已经很少有人用了

  21. takwai 2008-10-06 10:12:03

    还有 QQMusic 也会占用 80 – –

    • aw 2008-10-06 10:55:24

      thanks,不过估计需要80端的同学们没人用QQMusic吧……:)

      • iVane Hwang 2008-10-08 01:01:22

        嗯,我就是经常一起用的,先开Apache,再开QQ Music~

    • *Yan^_^ 2010-05-18 09:10:33

      可以做的只是寻找你的足迹

  22. hkysj 2008-10-07 10:48:28

    原来用QvodPlayer的时候,占用了80端口,最后不得不每次改Apache的端口。

  23. linker 2008-10-07 11:02:29

    占用占吧,发现它了,K掉它!经常遇到迅雷占用的情况。

  24. dreamtale 2008-10-07 11:54:05

    问个比较菜的问题,把测试端口改了不就行了吗,改端口对测试会有影响吗?

  25. Loveyuki 2008-10-08 04:56:29

    我一般本地测试都是用绑定主机名和修改 HOSTS 文件来搞的,端口随便用。嘎嘎

    • aw 2008-10-08 05:16:03

      我也是啊,我用aw.com,不过端口还是80好吧……要不URL太难看了(或者可以改浏览器的默认端口。。。不清楚了)

      • Loveyuki 2008-10-10 01:15:30

        嗯。我没考虑周全,HOSTS 文件不支持指定到端口的。呵呵

  26. 童遥 2008-10-11 09:54:28

    其实只要让apache比他们都先开着就好了~~

    • 紫焰 2008-10-14 04:14:36

      我是来关注这个ID的。。。我认识的一个MM,^_^,8过,这位应该是GG

  27. zpeng 2008-10-29 11:08:43

    你是否想过在网页上,那各种各样创意的广告而感动嫉妒,有没有想过,如果那些是你做的,那多有成就感,请加入我的QQ群:59343923
    来体验一下吧!~不要错过哦!~

  28. qwqw 2008-12-11 11:04:38

    迅雷站用80断口 改迅雷设置~~~~

  29. wshj 2009-04-13 04:35:06

    呵呵,我找到了,好像是被迅雷搞的,唉,不过我配置apache和perl的时候,一直调用不到perl啊

  30. 二愣子小强 2009-08-04 09:03:55

    LZ,这个hosts文件中支持这种格式的解析吗?
    127.0.0.1:8000 http://www.demo.cn
    就是指定端口绑定!
    谢谢了。

  31. shirne 2012-08-14 11:00:02

    大量pid=0的80端口被占用说明什么情况?
    外部ip端口都是10000以上

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍