Ubuntu如何高效管理WebLogic的多个实例
导读:Ubuntu高效管理WebLogic多个实例的实操方案 一 架构与端口规划 建议采用“管理服务器 + 多个受管服务器 + 集群 + 外部负载均衡”的标准形态:管理服务器仅用于管控,不承载业务;受管服务器按业务拆分或按功能分组;集群提供会话...
Ubuntu高效管理WebLogic多个实例的实操方案
一 架构与端口规划
- 建议采用“管理服务器 + 多个受管服务器 + 集群 + 外部负载均衡”的标准形态:管理服务器仅用于管控,不承载业务;受管服务器按业务拆分或按功能分组;集群提供会话复制与故障转移;外部用 Nginx/Apache HTTP Server 做负载均衡与高可用。
- 端口规划示例(同一主机演示,生产请分布到不同主机):
- 管理服务器:7001
- 受管服务器:7010、7020
- 节点管理器:5556
- 集群通信依赖 UDP 多播,需确保实例间 UDP 可达;最佳实践为“不要把管理服务器放入集群”。
二 标准化目录与用户
- 目录结构建议:
- 安装目录:/opt/weblogic/wlserver_xx
- 域目录:/opt/weblogic/domains/{ domain}
- 实例日志:/opt/weblogic/domains/{ domain} /servers/{ server} /logs
- 创建专用系统用户(避免 root 运行):
- sudo useradd -m -d /opt/weblogic -s /bin/bash weblogic
- sudo chown -R weblogic:weblogic /opt/weblogic
- 环境变量(写入 /opt/weblogic/.bashrc 或 systemd 环境文件):
- export WL_HOME=/opt/weblogic/wlserver_xx
- export DOMAIN_HOME=/opt/weblogic/domains/{ domain}
- export PATH=$WL_HOME/bin:$WL_HOME/common/bin:$PATH
三 使用Node Manager集中管控
- 配置节点管理器(示例为 WLST 12c 路径,11g 位置类似):
- 编辑 $WL_HOME/common/nodemanager/nodemanager.properties
- ListenAddress=0.0.0.0(或指定主机 IP)
- ListenPort=5556
- StartScriptEnabled=true
- StartScriptName=startWebLogic.sh
- CrashRecoveryEnabled=true(进程异常退出可自动拉起)
- 按需设置 SecureListener 与证书
- 编辑 $WL_HOME/common/nodemanager/nodemanager.properties
- 启动节点管理器(建议作为系统服务常驻):
- nohup $WL_HOME/server/bin/startNodeManager.sh > $WL_HOME/common/nodemanager/nodemanager.out 2> & 1 &
- 常用 wlscontrol 操作(通过 Node Manager 启停实例):
- 启动管理服务器:
- $WL_HOME/common/bin/wlscontrol.sh -d mydomain -r $DOMAIN_HOME -c -f startWebLogic.sh -s AdminServer START
- 启动受管服务器:
- $WL_HOME/common/bin/wlscontrol.sh -d mydomain -r $DOMAIN_HOME -c -f startManagedWebLogic.sh -s appserver1 START
- 停止实例:
- $WL_HOME/common/bin/wlscontrol.sh -d mydomain -s appserver1 KILL
- 启动管理服务器:
- 日志定位:
- 节点管理器日志:$WL_HOME/common/nodemanager/nodemanager.log
- 实例日志:$DOMAIN_HOME/servers/{ server} /logs/{ server} .out
- 多机环境建议用 nmEnroll 同步域与节点管理器密钥文件,确保受管节点可被管理服务器纳管。
四 批量编排与自动化
- 使用 WLST 批量创建受管服务器与集群(示例):
- 连接管理服务器:connect(‘weblogic’,‘密码’,‘t3://管理IP:7001’)
- 创建集群:create(‘myCluster’,‘Cluster’)
- 创建受管服务器并加入集群与计算机:
- create(‘appSrv1’,‘Server’,target=‘myCluster’)
- cd(‘Servers/appSrv1/NetworkAccessPoints/T3Channel’)
- set(‘ListenPort’,7010)
- assign(‘Machine’,‘machine1’)
-
同理创建 appSrv2: 端口 7020
- 启动顺序:先 Node Manager,再 AdminServer,最后受管服务器(可用 wlscontrol 或 WLST start 命令)
- 启动凭据自动化:
- 在 $DOMAIN_HOME/servers/{
server}
/security/boot.properties 写入
- username=weblogic
- password=你的密码
- 首次启动后自动加密,后续无需交互输入
- 在 $DOMAIN_HOME/servers/{
server}
/security/boot.properties 写入
- 多机纳管要点:
- 在受管机执行 nmEnroll(domainDir, nmHome) 同步 nm_password.properties 与 SerializedSystemIni.dat
- 确认 nodemanager.domains 已包含目标域。
五 负载均衡与高可用
- 使用 Nginx 作为反向代理与负载均衡(示例):
- 安装:sudo apt update & & sudo apt install nginx
- 配置 /etc/nginx/sites-available/weblogic:
- upstream backend { server 10.0.0.11:7010; server 10.0.0.11:7020; server 10.0.0.12:7010; server 10.0.0.12:7020; }
- server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
- 启用站点并重启:sudo ln -s /etc/nginx/sites-available/weblogic /etc/nginx/sites-enabled & & sudo systemctl reload nginx
- 会话保持与容错:
- 建议启用应用级会话复制(如数据库或内存复制),在负载均衡器上可按需配置会话粘性(如 Nginx Plus 的 sticky)以优化体验。
六 监控与故障排查
- 常用检查与定位:
- 进程与端口:ps -ef | grep weblogic;ss -lntp | grep -E ‘7001|7010|7020|5556’
- 实时日志:tail -f $DOMAIN_HOME/servers/{ server} /logs/{ server} .out
- 节点管理器日志:$WL_HOME/common/nodemanager/nodemanager.log
- 控制台与 WLST:http://管理IP:7001/console;WLST 连接 t3://管理IP:7001 查看域与服务器状态
- 常见问题速解:
- 节点管理器无法启动受管服务器:检查 StartScriptEnabled=true、ListenAddress/Port、域与 nodemanager.domains 一致性、文件权限
- 跨机启动失败:确认 UDP 多播可达、主机名解析一致、证书与 SSL 主机名验证配置正确(测试环境可先设为“无”,生产按规范启用)
- 实例异常退出:启用 CrashRecoveryEnabled=true 观察 Node Manager 自动拉起效果,并结合日志定位根因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何高效管理WebLogic的多个实例
本文地址: https://pptw.com/jishu/773540.html
