Apahce启动不起来

来源:互联网 发布:react.js 视频教程 编辑:程序博客网 时间:2024/04/28 19:36

Apahce启动不起来

一、  现象

今天早上启动apache软件的时候,竟然报了下面的错误,真是奇怪,明明昨天晚上关机前还是可以正常运行的。错误截图如下:

apache管理器

二、  利用事件查看器定位问题

1.  定位问题

面对错误,只能采用老办法,查看apache日志,进入目录“../Apache2.2.17/logs”,从这里的日志中看不出任何信息,而且日志的最后记录时间也比当前时间要早,所以通过这里的日志是解决不了问题的。

通过日志解决不了问题,但是我们可以尝试用其他方式来解决。既然apache是作为windows服务运行的,那么apache的一些启动信息肯定会记录在“事件查看器”中。进入“控制面板”->“管理工具”->“时间查看器”,点击左侧导航“事件查看器”->Windows日志”->“应用程序”,见下图:

事件查看器

蓝色框中的四个错误都是apache的日志信息,注意这四个信息的时间,是在同一个时间(见红色下划线)产生的,这四个信息记录了apache启动失败触发的4个不同事件。再看看下面红框中的内容,表示80端口不可用。

 

2.  确定80端口是否正在被使用

80既然不可以,是不是因为80端口正在被占用呢?在Cmd窗口中,利用命令确定80端口是否正在被占用,具体命令见下表:

C:/Users/Administrator>netstat -ano|find "80"

  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4

  TCP    0.0.0.0:1027           0.0.0.0:0              LISTENING       980

  TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING       480

  TCP    0.0.0.0:8038           0.0.0.0:0              LISTENING       7076

  TCP    0.0.0.0:8067           0.0.0.0:0              LISTENING       7076

  TCP    127.0.0.1:1433         127.0.0.1:1128         ESTABLISHED     480

通过红色记录,我们可以看到80端口正在被进程号Id4的进程占用。

3.  根据进程Id定位都具体的进程

打开任务管理器,点击“PID”,按照PID进行排序(如果没有显示PID,则点击“查看”->“选择列”,勾选上PID即可),见下图:

任务管理器


从这里可以看到,ID4的进程名为“NT Kernel & System”,这是windows的内核进程,但是为什么会占用80端口呢。到这里,想到了windows的自身的IIS服务器,因为今天为了测试ASP.NET的程序,把IIS开启了。

4.  关闭IISApache启动成功

进入IIS服务器,关闭IIS服务,启动apache成功。当然也不一定非要关闭IIS服务,可以修改IIS服务或者apache的监听端口,只要两者的监听端口不冲突,就可以同时运行这两个软件。

原创粉丝点击