在Windows下测试Apache遇到的80端口占用问题

虽然我这个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:Usersawflasher>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:Usersawflasher>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(网友补充)

我心目中的理想化平台 – 从校内API开放想到Windows

先说一个我观察到的现象:

Youtube视频增加了“Annotatiions”(标注)之后,大幅提高了视频内部的转换率。这与Youtube自身相关视频的推荐完全不同。今天看到一则Featured Video被浏览55,000多次,而它最后的一个通过Annotation加注的视频也被浏览了37,000多次,这种极高的转换率(70%),是平台将决定权交给用户的一个有趣缩影。相信Youtube的算法再好,也很难推荐一个转换率高达70%的视频。

校内的开放平台,协议交给法务部门而不经过技术部门的重审,我认为这是一次内部的决策失误。从意识形态来讲,IT行业的法务部门多的是在解决传统软件产业的版权纠纷、利益争取等问题。我并不对“法务部门”的合理性和贡献有意见,然而,针对API这种开放意识形态的创作型工作,全盘交给法务部门,难免会引发冲突。

事实证明,冲突的确存在,开发者对校内法务部门的条款非常的不满意(在校内内部开发者论坛陆续有抗议声音),而校内本身作为新媒体新社区的一种新力量,也招来大量媒体的质疑。更是有竞争对手(其他SNS平台)大力网络开发者阵营。

我作为校内的老用户,当然希望校内能够尽快完善条款(校内的管理层以及技术团队已经在争取,感谢校内负责人朝军、技术负责人黄晶和API项目负责人忠杰),拿出做平台的心态来与大家分享成果;同时,作为实名类SNS应用的坚决支持者,当然也希望平台之间能有竞争以便让开发者不至于太“弱势”。

回顾Windows成功的历程,我觉得从3.x到95的过渡,就是一次成功的平台式成型:

在Windows3.1时代,几乎没有什么第三方应用,蹩脚的DOS引导和复杂的安装让你时刻感觉到,Windows只不过是一款抛在DOS平台上的“图形软件”而已。安装Windows的过程,也是安装软件的过程一般(当时是8张软盘),我只是想尝试它的新颖和别致。Windows3.x系列给我留下的印象,甚至也只有那个“鼠标入门教程”最深刻。

然而,进入95之后,我们完全不难发现,Windows之所以是Windows,是因为它让你丝毫察觉不到“自己”的存在:无论是使用微软开发的Office系类,还是第三方开发的应用、游戏。除了开机和关机的时候你要注意到“Windows”之外,你根本察觉不到它的存在。之后Windows 98、XP、Vista的陆续推出,伴随着在Windows上大量的应用软件爆发出来(当然,也有大量公司与个人受益了),很难有人能离开Windows进行“电脑操作”:Windows作为“平台”,当之无愧。

从决策权上看,安装什么软件,禁止什么软件,Windows将权利充分交给用户:微软的Outlook不好,我可以用Foxmail或者ThunderBird;微软的Office不好,我可以不用;甚至许多热心开发者连代替Windows资源管理器的应用都开发出来了。

即便如此,微软还是迎来了Linux的竞争以及对“抵制IE捆绑”的打击。但我个人虽然也非常不喜欢IE(我是IE5-IE7的用户),也非常尊重Linux在特殊领域(例如我每天都要用到的Web服务器)的杰出贡献,但这仍然无法掩盖Windows作为“平台”的成功。

如果有一天,人们在校内(或者某一款SNS)上不仅仅是打个招呼、交个朋友,而能够方便地约情人、打游戏并互相竞争、分享照片、分享视频、组织活动、查找各类信息(等各类社会化活动),那么,用户也许从开始上网到登出都不会离开这个平台了。

好文推荐 – 各大操作系统走马观花

在rxiao处看到的好文(虽然骂的人不少,但是有几篇好文部被骂?Yamir也说这篇文章比较业余,其实我觉得大多数读者也很业余,如果没有什么致命错误,已经不错了,因为现在很少看到这种介绍os的文章,如果有好的,一定告诉我)
rxiao镜像

引用自 对Windows操作系统的评价
  Windows之所以被那么多人的认同,其大致存在于以下优点:

  1、界面图形化

  以前DOS的字符界面使得一些用户操作起来十分困难,Mac首先采用了图形界面和使用鼠标,这就使得人们不必学习太多的操作系统知识,只要会使用鼠标就能进行工作,就连几岁的小孩子都能使用。这就是界面图形化的好处。在Windows中的操作可以说是“所见即所得”,所有的东西都摆在你眼前,只要移动鼠标,单击、双击即可完成。

  2、多用户、多任务

  Windows系统可以使多个用户用同一台电脑而不会互相影响。Windows 9x在此方面做得很不好,多用户设置形同虚设,根本起不到作用。Windows 2000在此方面就做得比较完善,管理员(Administrator)可以添加、删除用户,并设置用户的权利范围。多任务是现在许多操作系统都具备的,这意味着可以同时让电脑执行不同的任务,并且互不干扰。比如一边听歌一边写文章,同时打开数个浏览器窗口进行浏览等都是利用了这一点。这对现在的用户是必不可少的。

  3、网络支持良好

  Windows 9x和Windows

Continue reading “好文推荐 – 各大操作系统走马观花”