前言
在使用apache的过程中,遇到了很多问题,也学会了很多,特将一些常见的问题总结出来,以供参考。
apache无法启动
The request operation has failed
一般来说,都是端口被占用所导致的。apache默认使用80端口,如果80端口被占用,apache就会启动失败。目前我已知的会占用80端口的软件有:迅雷,IIS,Skype。欢迎补充!
解决办法:
1. 修改apache的默认端口,或者开机后,立即启动apache,让它使用80端口。
2. 也可以关闭或杀死使用80端口的软件,但如果是IIS,最好修改一下端口。
apache无法启动终极解决办法
上面所说的只是比较特殊的情况,也许并不能找到问题之所在。下面说一个比较一般的方法,对各种问题基本通吃–使用命令行启动apache服务。用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决,可以发现端口冲突问题,软件冲突问题,http.conf配置问题等。
1. 在N:\MyWorks\Apache\bin目录处打开cmd命令行,输入如下命令:
httpd.exe -w -n "Apache" -k start
这里,引号内的是你的apache服务的名称,不同的机子可以有些许差别。
2. 之后等一会,如果启动不成功,会提示详细的错误信息。根据错误信息,去做响应的修改即可。
3. 我的问题是启动服务时提示the requested operation has failed,一开始以为是80端口被占用的问题,用netstat -ano一看,80端口没有被占用啊!但就是启动不了,很郁闷。使用上述方法用命令行启动后,提示信息如下:
4. 我明明配置apache监听80端口,也就是默认的,但是竟然还需要监听443端口,难怪,443端口被别的软件所占用了,apache启动自然报错了!不过,有这个方法,以后apache出问题也可以很好地差错了。
5. 关于如何kill掉占用端口的进程:用netstat -ano找到占用该端口的进程号,也就是PID,然后打开任务管理器,切换到【服务】一栏: