1,在运行里输入 cmd 进入DOS命令行窗口
2,输入命令 netstat -anb
看到80端口 被tomcat5在占用,关闭它,apache就正常启动了!如果你的80端口是被其他程序占用,直接关闭程序就可以了!
在CMD下运行:
 apache -k install
  apache -k start
这个apache的出错提示!
  可能是你还安装了其他的web服务器,比如IIS,它的默认端口也是80,你需要修改它的默认端口或修改apache的。
  倘若安装了其他的web服务器,那就在系统的服务里面先停掉然后安装apache。
  倘若没有安装其他的服务器,只是apache安装了多次,那么卸载apache的同时,一定要在磁盘中删除apache的所在安装路径下在文件,从新启动电脑,然后从新安装apache,就会ok的。
  主要就是 web服务器的端口冲突,还有就是多次安装卸载的不干净。
  winxp 下 apache2 安装 问题及解决
  安装apache 2 出现的问题:
  “(OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
  make_sock: could not bind to address 0.0.0.0:80...”
  一般是IIS或其他程序占用了80端口引起的
  分析:
  netstat -a
  查看相应端口,是否有程序占用
  netstat -ab
  查看具体占用程序
  两种解决方法:
  1、打开 控制面板->服务 找到 IIS admin 等相应服务 关闭并禁用
  2、如果不想关闭IIS服务 可将apache使用的端口改成其它端口
  将apache2/conf/httpd.conf 中的
  Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080
  不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号
  如: http://localhost:8080
  然后用CMD进入命令行模式 进入你安装apache的目录 /apache2/bin
  输入
  apache -k install
  apache -k start
  通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
  
  经过研究发现原来:
  所有非托管资源程序必须能控制资源释放,如数据库连接、SOCKET连接等在使用后都应当显示关闭,如果是长连接,在程序退出时应当确保所有占用的连接都被关闭。
  绑定的端口没有释放,需要等待一段时间,或者在程序退出时调用close关闭udp套接字。
  我查看任务管理器的进程,发现上一个页面的开发服务器引起的,我结束进程:
强行关闭8080端口
解决方法如下: 1.打开CMD. cmd 
2.查找端口号的PID netstat -a -o 
3.强行关闭 ntsd -c q -p PID(查询出来的PID号码)