2、因为公司网站跑的是apache+resin,研发测试组要测试产品的强壮性,所以每天都需要各种测试。也正是因为这样我需要在服务器上每天切不同产品让测试组测试(也就是应用的一个配置文件里面有两个产品分别对应一行,如果测哪个就打开哪个,不测哪个就注释掉),所以我找了另外一台机器准备搭建同样的环境,把两个产品分开,这样既提高了测试组的工作效率,也省去了自己的一部分工作,呵呵!
3、把应用拉一份到本地(当然两台机器同样的系统)
4、把apache安装目录拉倒本地对应目录(编译后的)当然日志可以删除。
5、把resin安装目录拉倒本地对应目录(编译后的)当然日志可以删除。
6、把jdk安装目录拉倒本地对应目录(安装后的),当然日志可以删除。
7、将jdk的环境变量设置一样,我这里对应的是root用户下的.bash_profile文件里面,你的也许在/etc/profile里面,反正有JAVA_HOME字样就可以确定是JAVA的环境变量了。最后记得source一下。
8、确认一下我自己的JAVA版本和测试的机器一样,可以输入java -version测试
工作都做完了,按正常的步骤说我打开
http://ip就应该可以和测试机的首页一样了,但是很奇怪的是我的报503问题,如下图:
一顿百度,一顿谷歌,搞了一天才弄明白,网上结果出来的都是扯淡的玩意,错误现象根本不一样。我只能用排除法按照自己的意思一步一步排查。
1、首先确定我的apache是没问题的,我将apache里面的最后几行注释掉。重新启动apache,当然resin可以启动也可以不启动,它的端口是8080嘛!我只知道前四行是编译安装resin时加参数就出现的结果,后面三行我不知道什么意思,因为是以前同事加的,这块我还是刚刚接触。打开浏览器访问
http://ip可以看见静态的首页了,但是登陆进去就报错了,因为没有连接数据库,数据库的连接是在resin的配置文件里面。这里可以说明我的apache没有问题。把apache配置文件还原。
2、再次确定我的resin没问题,当然第一步就免做了,我在我的浏览器里面输入
http://ip:8080访问可以看到首页,也能登陆进去,这证明我的resin也是没有问题的。但是网页默认的都是80端口的,如果单用resin也行,但是这样还是有点不妥,呵呵!
3、此处省略80000字,各种尝试,各种不成功。
4、最后我确定是apache和resin整合出现了问题,仔细观察apache的配置文件里面写到和resin整合有关的行,结果我看到了CauchoConfigCacheDirectory /tmp这行。tmp为临时目录,那就去看看这个目录下有什么东西,反正没问题的环境下面有几个很怪异的目录,里面应该就是一些缓存信息,但是我现在这台出问题的机器上没有tmp目录,我火速建了个目录后,重新启动apache和resin,但是问题还是依旧。
5、我干脆把测试机上的tmp目录下得东西拷贝过来,里面有目录有文件,干脆全拷了。再重启apache和resin,首页正常了,登陆进去也正常了。这次出现的问题虽然很小,但是浪费了我接近1天的时间解决,我也不知道为什么要拷贝哪些缓存的东西,领导说他们以前部署N次也没拷贝tmp目录那里面的内容,我也很奇怪前两天我是在一台虚拟机上部署一样的应用,也没拷贝也没出任何问题,哎!真不知道这算是什么问题,还好故障解决了。我只想说一句fuck!