Weblogic+apache多虚拟主机
Posted oldxulinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Weblogic+apache多虚拟主机相关的知识,希望对你有一定的参考价值。
Weblogic+apache整合过程
前言:
安装软件:
1. jdk-1.6-linux-x64.bin (这里就不掩饰如何安装)
2. httpd-2.2.4.tar.gz
3. weblogic_linux32.bin (weblogic10.3安装包) (这里就不掩饰如何安装)
安装插件:
Weblogic插件
1.yum -y install glibc.i686 (在64位操作系统兼容32位软件)
Apache插件:
1.yum -y install make (使用make编译时必须安装)
2.yum -y install libstdc++.so.*(添加反向代理后重启apache需要用到)
一、Weblogic配置
<2>由上往下进行对应 例如: serveroa—oavirtual—oaweb
创建两个不同端口的服务器 oaserver7003 fofserver 7002
创建两个虚拟主机 然后将虚拟主机的目标分别指向不同的服务器
Oavirtual对应serveroa Fofvirtual对应serverfof
Oaweb对应oavirtual Fofweb对应fofvirtual
完后后通过域名加上端口进行访问,如能成功访问,weblogic已配置OK
二、Apache配置
将apa进行编译
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all
使用make 编译安装
启动apache 然后通过http://IP 进行访问
访问到 It works! 代表apache服务已经安装完成、
二、apache+weblogic整合
一.修改apache配置文件
/www/bea/wlserver_10.3/server/plugin/linux/x86_64目录下的
mod_wl_22.so文件拷贝到 /usr/local/apache/modules目录下
cp /www/bea/wlserver_10.3/server/plugin/linux/x86_64/mod_wl_22.so /usr/local/apache2/modules/
修改 /usr/local/apache/conf/httpd.conf
LoadModule weblogic_module modules/mod_wl_22.so
<IfModule mod_weblogic.c>
WebLogicHost localhost
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.do
MatchExpression /工程名/* (同一端口可以添加多个工程名)
#MatchExpression *.html
#MatchExpression *.jpg
#MatchExpression *.gif
#MatchExpression *.css
WLLogFile /tmp/wlproxy.log
</IfModule>
二.添加apache反向代理模块
1. 首先定位到Apache源码的 proxy目录
找到源码包该目录 cd/opt/httpd-2.2.4/modules/proxy
编译 /usr/local/apache/bin/apxs -c -i mod_proxy.c proxy_util.c
编译 /usr/local/apache/bin/apxs -i -a -n proxy mod_proxy.la
这样,就将proxy安装成功了,你可以到httpd.conf中看到自动添加了如下语句:
LoadModule proxy_module
modules/mod_proxy.so
module 文件夹中也生成了相应的 mod_proxy.so 模块
但是,proxy只是核心模块,要具体使用时,还需要增加相应的模块,方法类似。
例如笔者要使用 ProxyPass, ProxyPassReverse,
那么就需要 http,所以继续编译添加如下模块:
cd /opt/httpd-2.2.4/modules/proxy
编译 /usr/local/apache/bin/apxs -c mod_proxy_http.c
编译 /usr/local/apache/bin/apxs -i -a -n proxy_http mod_proxy_http.la
同样的,你就可以看到 httpd.conf 中自动增加了
LoadModule proxy_http_module
modules/mod_proxy_http.so
module
文件夹中也生成了相应的 mod_proxy_http.so 模块
最后,重启apache就好了。 good luck!.
三.在虚拟目录做反向代理
启动apache虚拟目录,做反向代理 完成后 重启apache
ProxyPass、 ProxyPassReverse
这两个配置时,如果不加ProxyPassReverse 这行,则IE地址栏里面显示就是Apache代理后端应
用服务器(比如tomcat)所对就的地址,反之,加上ProxyPassReverse这行,则显示的就是Apache的地址,把原tomcat给隐藏了
1.SetEnv force-proxy-request-1.0 1
2.SetEnv proxy-nokeepalive 1
不加这两个选项,可能会导致ie5.5等浏览器访问异常,时好时坏。出现以下提示:
Http 502 Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
引用
For circumstances where mod_proxy is sending requests to an origin server that
doesn\'t properly implement keepalives or HTTP/1.1, there are two environment
variables that can force the request to use HTTP/1.0 with no keepalive. These are set via the SetEnv directive.
These are the force-proxy -request-1.0 and proxy -nokeepalive notes.
当mod_proxy向一个没有正确实现持久连接(KeepAlive)或HTTP/1.1的原始服务器发送请求的时候,可以通过设置两个环境变量来发送不带持久连接(KeepAlive)的HTTP/1.0请求。这两个变量是通过SetEnv指令设置的。
重启apache服务器 , 没有任何报错,基本上OK
通过apache反向代理能成功的访问oa
通过apache反向代理能成功的访问fof
通过 netstat –anpt | grep 80 过滤出80端口
可以看到254 访问请求服务80端口
至此apache+weblogic 多虚拟主机 多域名访问完成
以上是关于Weblogic+apache多虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章