WebLogic集群配置
通用操作
后台批杀进程
ps -ef|grep java|grep webapp|grep -v grep|awk '{print $2}'|xargs kill
简单环境变量
export LANG=C
export PS1='[\u@\H $PWD]\$'
stty erase ^H
stty erase ^?
注意:LANG=C在HP主机上可以解决乱码文件导致的server无法stage的启动问题,但Linux下似乎无效。
生产环境分布式部署
仅在管理Machine上建立Domain,有且只有一个AdminServer
被管Machine上不需要新建Domain,但需要启动NodeManager并nmEnroll()到AdminServer
Deployment方式,因为有文件乱码,选择第3项 I will make the deployment accessible from the following location。但正式部署时建议选择第二项Copy this application onto every target for me!方便版本发布。
Linux主机需优化启动参数配置
commEnv.sh
vi /bea/weblogic/wlserver_10.3/common/bin/commEnv.sh
约180行,在export JAVA_VM MEM_ARGS JAVA_OPTIONS前新增两行
MEM_ARGS="-Xms32m -Xmx200m -XX:MaxPermSize=128m"
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
startNodeManager.sh
vi /bea/weblogic/wlserver_10.3/server/bin/startNodeManager.sh
约80行,新增以下内容
MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=200m"
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
export MEM_ARGS JAVA_OPTIONS
setDomainEnv.sh
vi /ngbss/webapp/domains/BSSTST/bin/setDomainEnv.sh
约375行 进行修改
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"
export JAVA_OPTIONS
管理Machine上操作
建立domain
/bea/weblogic/wlserver_10.3/common/bin/config.sh
注意:将最新的boss.flds上传到domain下!
启动AdminServer
cat>start.sh
nohup ./startWebLogic.sh>start.log 2>&1 &
^C
修改AdminServer启动参数
-server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dcharset=GBK -Dfile.encoding=GBK -Djava.security.egd=file:/dev/zero
注意:AdminServer中,Configuration->SSL->Advanced->Hostname Verification:None,否则报错:
注意:Automatically Acquire Lock and Activate Changes勾掉
建立Machine
注意:端口与nodemanger.properties中的设置一致,一般为5556
建立cluster
IP一般设为224.0.0.1~239.255.255.255
多播端口测试:
cd /bea/weblogic/wlserver_10.3/server/lib
java -cp weblogic.jar utils.MulticastTest -N server100 -A 224.0.0.110 -P 48001
建立server
注意:多网卡的主机上需绑定IP,否则远程启动server时启动参数中adminServer会与实际IP不一致
部署deploy
注意:最后一步一般选择第3项 I will make the deployment accessible from the following location,需分别上传代码至每台主机,但会避免因乱码文件引起的server无法启动问题。
第2项:Copy this application onto every target for me,可以只在Admin主机上放置代码,Sever启动时自动上传部署。但如果有乱码文件则无法正常启动。
注意:根据application中UploadPath,建立相应上传目录
JDBC配置
注意:勾选Test Connection On Reserve,断开后自动连接
配置控制台用户
通常为了weblogic console安全考虑,需要新建多个用户,区分不同的权限:
A.管理员:所有权限,主要是进行配置修改时使用
B.操作员:可以启停所有服务,主要是日常监控和更新程序使用
C.查看者:可以查看所有配合和服务情况,主要是日常监控和巡检使用
D.服务调用用户:只能发送T3消息,timerapp和ejb接口使用
建立3个用户:
administrator:Administrators password:administrator 所有权限
operator:Operators password:operator 可以启停不能修改
monitor:Monitors password:monitormonitor 只能查看,不能修改、启停
在被管Machine上操作
复制nodemanager启动脚本
cp /bea/weblogic/wlserver_10.3/server/bin/startNodeManager.sh ~
cd ~
mkdir nodemanager
vi startNodeManager.sh
NODEMGR_HOME="/ngbss/webapp/nodemanager"
生成nodemanager.domains
启动AdminServer后
/bea/weblogic/wlserver_10.3/common/bin/wlst.sh
connect('weblogic','password','t3://xxx.xxx.xxx.xxx:6010')
nmEnroll('/ngbss/bpsapp/domains/BpsDom','/ngbss/bpsapp/nodemanager')
exit()
其它
应用发布
版本发布不需要重启server,直接在Deployment界面update一下即可,或通过命令行方式java weblogic.Deployer操作,或通过WLST发布。
如果StageMode=stage,server启动时会报Failed to initialize the application 'examples' due to error weblogic.management.DeploymentException: Exception occured while downloading files,原因不明,此时需要再手工update一下。
脚本发布工具
帮助:
java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -help
重新发布:
java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -adminurl t3://xxx.xxx.xxx.xxx:57001 -username weblogic -password password -name examples -targets testserver1 -redeploy
重新发布部分页面:
java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.Deployer -adminurl t3://xxx.xxx.xxx.xxx:57001 -username weblogic -password password -name examples -targets testserver1 -redeploy /ngbss/webapp/deployTST/examples/xxx.html
WLST发布工具
/bea/weblogic/wlserver_10.3/common/bin/wlst.sh
connect('weblogic','password','t3://xxx.xxx.xxx.xxx:57001')
redeploy('exmples','/ngbss/webapp/deployTST/examples/',targets='testserver1',stageMode='stage');
3DES加密
java -cp /bea/weblogic/wlserver_10.3/server/lib/weblogic.jar weblogic.security.Encrypt test123456
WLST启停
connect('weblogic','password','t3://xxx.xxx.xxx.xxx:6001')
start('PROXY_CLUSTER', 'Cluster', block='false')
start('proxy_t_13', 'Server', block='false')