日期:2014-05-16  浏览次数:20848 次

Apache APMServ 80端口被占用的最全面的解决方法

11小时前

  在使用WampServer成功架设起Apache PHP MySQL服务器之后,昨天遇到了一个奇怪的问题,WampServer一直显示离线,而且无法改为在线状态,认真查看了一下三个组件的状态,MySQL显示已经成功启动,php是作为Apache的模块加载的,而Apache服务则一直无法启动,进

  Tag:Apache 端口    -

  在使用WampServer成功架设起Apache PHP MySQL服务器之后,昨天遇到了一个奇怪的问题,WampServer一直显示离线,而且无法改为在线状态,认真查看了一下三个组件的状态,MySQL显示已经成功启动,php是作为Apache的模块加载的,而Apache服务则一直无法启动,进入WampServer的bin目录,直接Apache的bin目录下面的ApacheMonitor.exe,显示The requested operation has failed! Apache一直无法启动,Google了半天,终于发现是迅雷占用了80端口,导致Apache无法启动。

  下面介绍一下我的处理方法:

  1、通过netstat命令查找占用80端口的进程的pid: 以下为引用的内容:

  netstat -o -an > C:portInfo.txt

  然后进入C盘,查看protInfo.txt文件,找到Local Address这一列占用80端口的PID,打开“任务管理器”,“查看”菜单,“选择列”,选中PID,查看占用80端口的PID对应的进程。

  2、设置占用80端口的进程,让出80端口:

  通过第一步发现占用80端口的进程是Thunder5.exe,打开迅雷程序,配置对话框,修改TCP端口,这里我将80端口改为了8089端口:

  图片1

  除了迅雷,skype等软件也会占用80端口,只要将其端口设置为其它端口就可以解决80端口被占用的情况。

  如果80端口被占用,安装Apache的过程中,可能不能成功安装Apache的Servcie。如果 不能正确安装Apache Service,那么执行Start或Restart等命令时,会报如“找不到Apache2的Service”的错误,然后执行失败。这样的话,修改了 httpd.conf文件,将端口改为其它值(如8088)也无法正确启动Apache服务。

  在这样的情况下,可以在修改httpd.conf文件后,再执行Apache安装文件,然后选择修复功能。如果httpd.conf修改正确,修改完成后,Apache Service就会被正确安装,Apahce Http Server就能正常启动了。

  总结:

  一、安装Apahce;

  二、修改httpd.conf,将端口改为其它未被占用的端口号;

  三、重新运行Apache安装文件,选择修复功能执行。

  当然,这里还有一种有效的办法,不仅可以不用更改默认的端口号,还能找到抢占端口的“凶手”是谁。链接:

  一、开始->运行->cmd,输入netstat -o -an;

  二、打开windows任务管理器, 查看->选择列 勾选pid;

  三、找到那个进程占用了80端口的pid,解决之。

  按这个方法处理了后,并没有解决问题,因为我根本找不到那个程序占用80端口

  IIS用的是8081端口,所以就没有注意,但是有些事不能解释。

  但是关闭掉IIS后,APMServ居然启动成功了。所以新闻朋友们不要犯这样的错误。机器也会骗人的。有不可预知的错误存在。。。

  使用APMServ5.2.0,的时候,又重新启动了IIS

  把IIS 端口改成了8080,但是又出现80端口被占用的问题,所以总结一个原因就是

  如果用APMServ5.2.0 虚拟主机多站点的时候,IIS是不能启动的,因为以前没有使用虚拟主机的时候,IIS和APMServ

  可以共用