所需软件:
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_24export JAVA_VENDOR=Sunexport PATH=$JAVA_HOME/bin:$PATHexport 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=xxx5、修改nodemanager配置文件如下:
vim /opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.propertiesDomainsFile=/opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.domainsLogLimit=0PropertiesVersion=10.3DomainsDirRemoteSharingEnabled=falsejavaHome=/opt/java/jdk1.6.0_24AuthenticationEnabled=trueNodeManagerHome=/opt/weblogic/wlserver_10.3/common/nodemanagerJavaHome=/opt/java/jdk1.6.0_24/jreLogLevel=INFODomainsFileEnabled=trueStartScriptName=startWebLogic.shListenAddress=NativeVersionEnabled=trueListenPort=5558LogToStderr=trueSecureListener=false #修改为false,关闭ssl验证,默认为TrueLogCount=1DomainRegistrationEnabled=falseStopScriptEnabled=falseQuitEnabled=falseLogAppend=trueStateCheckInterval=500CrashRecoveryEnabled=falseStartScriptEnabled=falseLogFile=/opt/weblogic/wlserver_10.3/common/nodemanager/nodemanager.logLogFormatter=weblogic.nodemanager.server.LogFormatterListenBacklog=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页面,内容如下:/replicated_if_clusteredtrue true1true true UTF-8/
部署完后,启动工程应用就可以了。
四、Apache和weblogic整合,前端apache后端weblogic
1、 apache安装tar zxvf httpd-2.2.17.tar.gzcd 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=sharedmake && make install
2、 weblogic插件安装:
解压:unzip WLSPlugin1.1-11gR1PS3.zipunzip 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.soLoadModule headers_module modules/mod_headers.soLoadModule weblogic_module modules/mod_wl.so
Include conf/extra/httpd-vhosts.conf #去掉这行之前的#号
#设置过期时间 ExpiresActive On ExpiresByType text/css "access plus 1 months" ExpiresByType image/gif "access plus 1 months" ExpiresByType image/jpeg "access plus 1 months" ExpiresByType image/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"#设置压缩参数 DeflateCompressionLevel 3 AddOutputFilter DEFLATE html xml php js css 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
修改/opt/apache/conf/extra/httpd-vhosts.conf文件内容如下:
ServerAdmin cecnck@gmail.com #设置集群 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 SetHandler weblogic-handler #交由weblogic处理 ServerName www.test.com ErrorLog "logs/www_error_log" CustomLog "logs/www_access_log" common
五、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