Weblogic+apache多虚拟主机

时间:2021-01-11 06:08:21

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" }
h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 0cm; text-align: justify; line-height: 240%; page-break-after: avoid; font-size: 24.0pt; font-family: "Calibri", "sans-serif" }
h3 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; line-height: 173%; page-break-after: avoid; font-size: 16.0pt; font-family: "Calibri", "sans-serif" }
a:link,span.MsoHyperlink { color: #0563C1; text-decoration: underline }
a:visited,span.MsoHyperlinkFollowed { color: #954F72; text-decoration: underline }
span.1Char
{ font-family: "微软雅黑", "sans-serif"; font-weight: bold }
span.3Char
{ font-family: "微软雅黑", "sans-serif"; font-weight: bold }
.MsoChpDefault { font-family: "Calibri", "sans-serif" }
div.WordSection1 { }

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位操作系统兼容32位软件)

Apache插件:

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

2.yum -y install libstdc++.so.*(添加反向代理后重启apache需要用到)

一、Weblogic配置

<2>由上往下进行对应 例如: serveroa—oavirtual—oaweb

Weblogic+apache多虚拟主机

创建两个不同端口的服务器   oaserver7003    fofserver 7002

Weblogic+apache多虚拟主机

创建两个虚拟主机     然后将虚拟主机的目标分别指向不同的服务器

Oavirtual对应serveroa              Fofvirtual对应serverfof

Weblogic+apache多虚拟主机

Oaweb对应oavirtual              Fofweb对应fofvirtual

Weblogic+apache多虚拟主机

完后后通过域名加上端口进行访问,如能成功访问,weblogic已配置OK

二、Apache配置

Weblogic+apache多虚拟主机

将apa进行编译

./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all

Weblogic+apache多虚拟主机

使用make 编译安装 

Weblogic+apache多虚拟主机

启动apache 然后通过http://IP   进行访问

Weblogic+apache多虚拟主机

访问到  It works!  代表apache服务已经安装完成、

二、apache+weblogic整合

一.修改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/

Weblogic+apache多虚拟主机

修改  /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反向代理模块

Weblogic+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

Weblogic+apache多虚拟主机

这样,就将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

Weblogic+apache多虚拟主机
同样的,你就可以看到 httpd.conf 中自动增加了
LoadModule proxy_http_module
modules/mod_proxy_http.so

module
文件夹中也生成了相应的 mod_proxy_http.so 模块
最后,重启apache就好了。 good luck!.

三.在虚拟目录做反向代理

Weblogic+apache多虚拟主机

启动apache虚拟目录,做反向代理
  完成后 重启apache

Weblogic+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指令设置的。

Weblogic+apache多虚拟主机

重启apache服务器 , 没有任何报错,基本上OK

Weblogic+apache多虚拟主机

通过apache反向代理能成功的访问oa

Weblogic+apache多虚拟主机

通过apache反向代理能成功的访问fof

Weblogic+apache多虚拟主机

通过 netstat –anpt | grep 80  过滤出80端口

可以看到254  访问请求服务80端口

至此apache+weblogic  多虚拟主机 多域名访问完成