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,否則報錯:
<Nov 8, 2011 11:56:28 PM CST> <Warning> <Security> <BEA-090504> <Certificate chain received from 132.77.138.144 - 132.77.138.144 failed hostname verification check. Certificate contained bssweb2 but check expected 132.77.138.144>
注意: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')