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插件

1yum -y install glibc.i686   (在64位操作系统兼容32位软件)

Apache插件:

1yum -y install make   (使用make编译时必须安装)

2yum -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多虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

apache 虚拟主机多站点配置教程

Apache虚拟目录和多端口多主机名配置

Wagtail 多站点与 Apache 虚拟主机

虚拟机/Eclipse 运行时环境上的 WebLogic

Apache虚拟目录和多端口多主机名配置

linux环境apache多端口配置虚拟主机的方法深入介绍