所需软件:
jdk-6u24-linux-x64.bin
wls1036_generic.jar
WLSPlugin1.1-11gR1PS3.zip(weblogic插件)
httpd-2.2.17.tar.gz

下载地址:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
http://www.oracle.com/technetwork/middleware/ias/downloads/wls-main-097127.html
http://www.oracle.com/technetwork/middleware/ias/downloads/wls-plugins-096117.html
http://labs.renren.com/apache-mirror/httpd/

前端Apache:192.168.1.30
后端Weblogic:192.168.1.31,192.168.1.32
一、weblogic安装配置
1、  java环境设置:
chmod u+x jdk-6u24-linux-x64.bin
sh  jdk-6u24-linux-x64.bin
编辑/etc/profile文件最后加入:
export JAVA_HOME=/opt/java/jdk1.6.0_24
export JAVA_VENDOR=Sun
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
source  /etc/profile 重新加载环境变量

2、  weblogic安装:
/opt/java/jdk1.6.0_24/bin/java   -jar  wls1036_generic.jar
(1)选择安装的主目录、取消安全更新、
(2)根据情况去掉Oracle Coherence、指定java开发工具路径
(3) 指定wlserver路径

3、创建域,指定项目工程,设置weblogic控制台账号,选择产品模式以及java开发工具,设置服务器侦听ip和端口
sh /opt/weblogic/wlserver_10.3/common/bin/config.sh
注意:如果是控制节点选择第一项,如果是被控节点选择第二项
   1|Administration Server [ ]
   2|Managed Servers, Clusters and Machines [ ]
   3|RDBMS Security Store [ ]

4、设置启动脚本密码自动验证:
创建目录/opt/weblogic/user_projects/domains/kygd/servers/AdminServer/security
在该目录下新建文件:boot.properties 内容如下:
username=xxx    9001登录后台帐号
password=xxx

5、修改nodemanager配置文件如下:
/opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.properties
DomainsFile=/opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.domains
LogLimit=0
PropertiesVersion=10.3
DomainsDirRemoteSharingEnabled=false
javaHome=/opt/java/jdk1.6.0_24
AuthenticationEnabled=true
NodeManagerHome=/opt/weblogic/wlserver_10.3/common/nodemanager
JavaHome=/opt/java/jdk1.6.0_24/jre
LogLevel=INFO
DomainsFileEnabled=true
StartScriptName=startWebLogic.sh
ListenAddress=
NativeVersionEnabled=true
ListenPort=5558
LogToStderr=true
SecureListener=false   #修改为false,关闭ssl验证,默认为True
LogCount=1
DomainRegistrationEnabled=false
StopScriptEnabled=false
QuitEnabled=false
LogAppend=true
StateCheckInterval=500
CrashRecoveryEnabled=false
StartScriptEnabled=false
LogFile=/opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.log
LogFormatter=weblogic.nodemanager.server.LogFormatter
ListenBacklog=50

6、启动关闭weblogic控制台和nodemanager
nohup /opt/weblogic/user_projects/domains/super/startWebLogic.sh > /dev/null 2>&1 启动控制台
nohup /opt/weblogic/wlserver_10.3/server/bin/startNodeManager.sh >/dev/null 2>&1启动节点管理器
nohup /opt/weblogic/user_projects/domains/super/bin/stopWebLogic.sh >/dev/null 2>&停止控制台

注意:修改下nodemanager启动脚本,保证权限一致性(允许其他用户可读)sed  -i  '/umask 027/s/027/022/g'/opt/weblogic/wlserver_10.3/server/bin/startNodeManager.sh

二、weblogic集群配置:
1、  新建计算机,选择普通类型,指定nodemanager管理地址和端口
2、  新建集群,指定集群名,选择单点传送
3、  新建服务器,指定所属集群和计算机
4、  服务器参数修改:
修改服务器启动参数加入: -Xms2048m -Xmx2048m -XX:MaxPermSize=256m
Xms内存初始值Xmx内存最大值
MaxPermSize:PermGen(class和meta存放区域)区域内存最大值

5、利用NM部署节点:
启动shell脚本:sh /opt/weblogic/wlserver_10.3/common/bin/wlst.sh
连接控制端并同步相关信息:
connect('super','weblogicpass','t3://192.168.1.31:8001')
nmEnroll('/opt/weblogic/user_projects/domains/super')
如果按照如上操作,然后启动每个服务器nodemanager,检查集群中node状态正常的话,集群便配置完成。

三、weblogic集群中部署应用程序:
1、  开发部将应用打成war包后,由运维部传到集群中的一个node节点。
2、  登陆weblogic管理后台,部署->安装->选择war包->将此部署安装为应用程序->选择集群所有服务器->将此应用程序复制到每个目标->完成。
3、  启动应用程序,测试访问
4、  集群session复制配置
在工程部署之前需要在工程下面WEB-INF目录下新建weblogic.jsp页面,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<context-root>/</context-root>
  <session-descriptor>
        <persistent-store-type>replicated_if_clustered</persistent-store-type>
        <sharing-enabled>true</sharing-enabled>
  </session-descriptor>
  <jsp-descriptor>
    <keepgenerated>true</keepgenerated>
    <page-check-seconds>1</page-check-seconds>
    <verbose>true</verbose>
    <debug>true</debug>
    <encoding>UTF-8</encoding>
  </jsp-descriptor>
<context-root>/</context-root>
</weblogic-web-app>
部署完后,启动工程应用就可以了。

四、Apache和weblogic整合,前端apache后端weblogic
1、  apache安装
tar zxvf httpd-2.2.17.tar.gz
cd httpd-2.2.17
./configure  --prefix=/opt/apache  --enable-mod-shared=most --enable-module=so --enable-so --enable-rewrite  --enable-deflate=shared  --enable-headers=shared   --enable-expires   --enable-rule=SHARED_CORE --enable-rewrite=shared --enable-cache --enable-disk-cache --enable-mem-chache --enable-include=shared
make && make install

2、  weblogic插件安装:
解压:
unzip WLSPlugin1.1-11gR1PS3.zip
unzip WLSPlugin11g-64bit-Apache2.2-linux64-x86_64.zip
拷贝lib下文件到apache主目录下的lib目录中,同时拷贝mod_wl.so到apache目录下modules目录中

小窍门:默认weblogic安装目录/opt/weblogic/wlserver_10.3/server/plugin下也有相应库文件

3、修改主配置文件,添加模块,设置虚拟主机
在主配置文件加入如下几行:
LoadModule include_module     modules/mod_include.so
LoadModule headers_module     modules/mod_headers.so
LoadModule weblogic_module     modules/mod_wl.so
Include conf/extra/httpd-vhosts.conf  去掉这行之前的#号
<IfModule mod_expires.c>  #设置过期时间
       ExpiresActive On
       ExpiresByType text/css "access plus 1 months"
       ExpiresByType p_w_picpath/gif "access plus 1 months"
       ExpiresByType p_w_picpath/jpeg "access plus 1 months"
       ExpiresByType p_w_picpath/png "access plus 1 months"
       EXpiresByType application/x-shockwave-flash "access plus 1 months"
       EXpiresByType application/x-javascript "access plus 1 months"
       ExpiresByType video/x-flv "access plus 1 months"
</IfModule>
<ifmodule mod_deflate.c>  #设置压缩参数
        DeflateCompressionLevel 3
        AddOutputFilter DEFLATE html xml php js css
        <location />
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\\.0[678] no-gzip
        BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \\\\.(?:gif|jpe?g|png)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
        SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
        </location>
</ifmodule>
修改/opt/apache/conf/extra/httpd-vhosts.conf文件内容如下:
<VirtualHost 192.168.1.30:80>
    ServerAdmin cecnck@gmail.com
        <IfModule mod_weblogic.c> #设置集群
                WebLogicCluster  192.168.1.31:51001,192.168.1.31:51002,192.168.1.32:51001,192.168.1.32:51002
                DynamicServerList ON  #后端服务器轮训,并故障诊断
                KeepAliveEnabled  ON
                Debug ON
                DebugConfigInfo OFF
                WLLogFile /opt/apache/logs/wl_proxy_log
        </IfModule>
        <Location />
                SetHandler weblogic-handler  #交由weblogic处理
        </Location>
    ServerName  www.test.com
    ErrorLog "logs/www_error_log"
    CustomLog "logs/www_access_log" common
</VirtualHost>

五、weblogic常用注意事项:
1、nodemanager启动CPU 负载过高,日志报错信息:
Exception in thread "[STANDBY] ExecuteThread: \'3\' for queue: \'weblogic.kernel.Default (self-tuning)\'" java.lang.OutOfMemoryError: PermGen space
Exception in thread "[ACTIVE] ExecuteThread: \'4\' for queue: \'weblogic.kernel.Default (self-tuning)\'" java.lang.OutOfMemoryError: PermGen space
Exception in thread "[STANDBY] ExecuteThread: \'6\' for queue: \'weblogic.kernel.Default (self-tuning)\'" java.lang.OutOfMemoryError: PermGen space
Exception in thread "[ACTIVE] ExecuteThread: \'1\' for queue: \'weblogic.kernel.Default (self-tuning)\'" java.lang.OutOfMemoryError: PermGen space
Exception in thread "[ACTIVE] ExecuteThread: \'2\' for queue: \'weblogic.kernel.Default (self-tuning)\'" java.lang.OutOfMemoryError: PermGen space
Exception in thread "[STANDBY] ExecuteThread: \'5\' for queue: \'weblogic.kernel.Default (self-tuning)\'"
java.lang.OutOfMemoryError: PermGen space


解决方法:
域-->环境-->服务器-->控制-->节点-->服务器启动加入
参数加入-Xms2048m -Xmx2048m -XX:MaxPermSize=256m
2、NM部署节点时不能连接控制端

解决方法:
设置hostname,并修改/etc/hosts文件保证各个server主机名一致
例如:
192.168.1.31  web31
192.168.1.32  web32