apache启动失败原因一大把一大把简单有你配置环境失败导致apache启动失败,复杂的有你系统软件与apache冲突或内存不足等等,总之查看你apache启动失败原因我们需要分析两点,一是应用程序与系统错误日志,另一个就是apache错误日志了,这样就可以快速找到导致apache启动失败原因了。
在启动Apache时会弹出错误提示, the requested operation has failed!
解决方法主要是在Apache的安装目录里找到如下代码:
- D:Program FilesApache Software FoundationApache2.2confhttpd.conf文件
- # Change this to Listen on specific IP addresses as shown below to
- # prevent Apache from glomming onto all bound IP addresses.
- #
- #Listen 12.34.56.78:80
- Listen 80
修改为:
- # Change this to Listen on specific IP addresses as shown below to
- # prevent Apache from glomming onto all bound IP addresses.
- #
- #Listen 12.34.56.78:88
- Listen 88
1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。
今天使用APMServ5.2.6在本地电脑架设网站,不论是改端口还是关闭SSL都无法启动Apache,研究了好久终于解决了:
打开APMServ点击"Apache设置(A)-查看运行日志(E)",发现下面的文字 :
APMServ最近一次启动、运行、停止过程中的Apache通知[notice]、提醒[warn]、错误[error]日志如下:
- [Sat Dec 17 18:35:10 2011] [warn] pid file D:/APMServ5.2.6/Apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
- PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.5. Rebuild it for your PHP version (5.2.6) or download precompiled binaries.n in Unknown on line 0
- PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
解决:
打开D:APMServ5.2.6ZendeAccelerator文件夹,看到eAccelerator.dll,eAccelerator0953_5.2.5.dll这两个文件,再在文件夹D:APMServ5.2.6PHP下面打开php.ini,可以看到里面包含了eAccelerator.dll的引用。
不一样的是:
zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.5.dll"
找到问题所在便找到解决方案:
解决方案一:打开D:APMServ5.2.6PHP下面php.ini把如下代码
- [eaccelerator]
- zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.5.dll"
代码为:
- [eaccelerator]
- zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator.dll"
解决方案二:如果D:APMServ5.2.6ZendeAccelerator文件夹,没有看到eAccelerator.dll,则到下载地址去下载。注意下载eAccelerator 0953 for PHP 5.2.6,下载后直接放到D:APMServ5.2.6ZendeAccelerator文件夹中,再到php.ini文件中把如下代码:
- [eaccelerator]
- zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.5.dll"
改为:
- [eaccelerator]
- zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.6.dll"
- The Apache service named reported the following error:
-
>>> httpd.exe: Could not reliably determine the server’s fully qualified domain name, using 192.168.0.210 for ServerName .
分析:不能可靠地确定服务器的完全限定的域名,使用的192.168.0.210)
The Apache service named reported the following error:
>>> (OS 10055)由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 : make_sock: unable to listen for connections on address 0.0.0.0:80
分析:不能侦听80端口
The Apache service named reported the following error:
>>> Unable to open logs
分析:80端口被占用
The Apache service named reported the following error:
>>> [Sun May 13 09:29:45 2012] [warn] NameVirtualHost 192.168.0.210:80 has no VirtualHosts
分析:绑定的IP和端口无法对应虚拟主机
总体错误概述:
从上面的报错分析可以看出:
1.80端口被占用
2.apache无法绑定IP(192.168.0.210)
3.日志文件可能打不开
解决过程:
winsock的问题导致:
1.网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾.
2.控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)即可.
3.重置LSP到初始状态(常见的是winsockfix这个软件,金山清理专家的LSP修复工具也能解决该问题)。重启后,问题得解决。(直接用360自带的LSP恢复到初始状态不用重启可生效)
多网卡多IP导致:
服务器上有两块网卡,分别配置了不同的IP,apache未指定侦听IP,解决方法:
方法一:禁用没有使用的那块网卡
方法二:配置apache侦听指定IP的端口:
Listen 192.168.0.210:80
3.80端口被占用:
查找那个应用占用80端口,关闭占用应用或修改占用软件使用的端口即可。 |