近期文武双全另外一台阿里云主机出现了一个奇怪的故障:
首先说说服务器的环境:
操作系统:阿里云公共镜像 linux centos 6.5 64位版本;
控制面板:安装WDCP推出的LNAMP一键安装包,并不是直接安装的wdcp;
PHP版本:Php5.3.27
Apache版本:http2.2.24
Mysql版本:mysql5.1.69
接着说说故障现象:
之前安装了一个dedecms,完全正常没有出现什么故障。8月11号先是安装discuzX3.2版本,安装过程顺利唯一蛋疼的就是点击后台的Ucenter跳出nginx 502 bad way的错误。
之后把discuz删除,尝试安装phpwind。用http://域名/install.php执行安装程序,直接报错404。
解决问题的过程:
1,由于先报错nginx,so我一开始先查看的nginx的错误日志。但是报错的提示是,上游链接刚打开就不响应。纠结这个问题很久,后来想明白了。在lnamp环境里nginx的上游就是apache,so出问题的是apache。
2,晚上回家搞到12点,查看了apache的错误日志。将错误代码复制到百度,找到类似的问题。
网友也没有发现具体错误的原因,只是怀疑跟Zend Guard Loader有关。
原来为了给PHP加速,文武双全将LNAMP一键安装包里的Zend删除掉了,然后改装了Zend Guard Loader和OPcache。文武双全记得之前曾经看过一篇文章,说是不同组件在php.ini文件里的位置不对导致出现故障。
于是文武双全就把php.ini打开,发现Zend Guard Loader的代码在Opcache的上方。试探性的把Opcache的代码放到Zend Guard Loader上面去,然后执行phpwind的安装程序,竟然好了。
妈个蛋,两段代码换个位置就行了,真让我蛋疼无比啊。
经验总结:
linux平台下解决服务器故障的方法:查看错误日志,nginx服务器就查看nginx的错误日志,apache和lnamp环境就查看apache的错误日志。linux平台下各种详实的日志,真是解决问题的神器啊。