|
今天忙活了一天,在redhat下搭建apache+weblogic,之间发生了一二,现总结下:
一上来,俺就下了个apache,在服务器./configure --prefix=/apache2 --enable-module=so;接着make,make install
很快就提示安装成功,运行一下,./apachctl start,一访问,出现It works,正常,由于weblogic之前已经安装好,只需集成就可以了。
集成也很简单,只需要把weblogic下的so库拷过来,然后在apache的httpd.conf配置一下就行了,在拷贝的时候,需要注意一下平台版本,有32位、64位,可以通过file命令查看文件的版本,如:file httpd,则会提示httpd的版本信息。
拷贝的文件也只有一个,叫mod_wl_22.so,其中22代表是支持apache 2.2.*版本的,如果是apache 2.0,则需要拷贝mod_wl_20.so (我安装的是apache2.2所以在这里以mod_wl_22.so为例),如果正常安装weblogic的话,在weblogic的安装目录下的server/plugin/linux/i686/目录下,当然还有其他平台的,大家就看着办咯。将文件拷贝到apache安装目录下的modules文件夹下。
接下来配置httpd.conf,很简单,只要增加几句话就可以了
LoadModule weblogic_module modules/mod_wl_22.so
<IfModule mod_weblogic.c>
WebLogicHost localhost
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.html
</IfModule>
接下来,重启apache,再访问,问题来了,怎么访问都是只出现一个test page,怎么回事,刚才第一次访问的时候还是出现It work!,查看配置文件,apache DocumentRoot也没有配置错误呀,而且DocumentRoot下敢没有文件,只有一个index.html,内容就是It work!经过一翻查找,最终在启动apache的命令上找到问题,第一次启动用的是./apachectl start,而第二次用的是apachectl start,原来不是使用当前文件夹下的apachectl启动的,后来查资料,原来redhat自带了一个apache,自带apache的启动指令是放在/usr/sbin/下的,而/usr/sbin/是在path环境中设定的,所以可以直接用apachectrl来启动,不用加"./"。我还多些一举,装了一个apache。查到问题就好了,接着在自带的apache上一翻配置(配置内容同上面的集成配置一样),配置好后重启apache,http://www.xxxx.com一访问,提示404错误,咋回事呢?加上具体页面,http://www.xxxx.com/index.jsp一访问,成了,更糊涂了,httpd.conf设置的默认页面为index.html,在DocumentRoot下建一个index.html,一访问成了。
看看service httpd start是否好用,一试不行,通过一番google,原来需要设定下,通过
chkconfig --add httpd 来进行设置一下。
到此,基本正常了,但是还没有结束,需要把静态资源(css,image)等拷贝到apache的DocumentRoot下才行,不然就没有发挥它的用处了。
好,大功告成,在此记录,以备后用 |
|
|