Debian上如何管理多个WebLogic实例
导读:在 Debian 上管理多个 WebLogic 实例的实用方案 一 环境准备与目录规划 安装 Java(示例为 OpenJDK 11): 执行:sudo apt update && sudo apt install -...
在 Debian 上管理多个 WebLogic 实例的实用方案
一 环境准备与目录规划
- 安装 Java(示例为 OpenJDK 11):
- 执行:
sudo apt update & & sudo apt install -y openjdk-11-jdk - 验证:
java -version
- 执行:
- 安装 WebLogic Server(示例安装到 /opt/weblogic):
- 下载 Oracle 的 Linux 版安装包并解压:
tar -xzf fmw_14.1.1.0.0_wls_linux64.bin.tar.gz - 移动到目标目录:
sudo mv fmw_14.1.1.0.0_wls_linux64 /opt/weblogic
- 下载 Oracle 的 Linux 版安装包并解压:
- 统一环境变量(建议写入 /etc/profile.d/weblogic.sh):
- 内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64export WL_HOME=/opt/weblogic/wlserverexport PATH=$JAVA_HOME/bin:$WL_HOME/server/bin:$PATH
- 生效:
source /etc/profile.d/weblogic.sh
- 内容:
- 目录规划(便于多域多实例隔离):
- 域目录:
/opt/weblogic/user_projects/domains/{ domain1,domain2,...} - 实例数据:
/opt/weblogic/user_projects/domains/{ domain} /servers/{ server} /data - 日志目录:
/opt/weblogic/user_projects/domains/{ domain} /servers/{ server} /logs - 管理脚本:
/opt/weblogic/user_projects/domains/{ domain} /bin/start.sh|stop.sh
- 域目录:
二 创建与配置多个实例
- 方式 A 使用配置向导创建新域(推荐)
- 执行:
$WL_HOME/common/bin/config.sh - 在向导中创建多个 Managed Server,为每个实例设置唯一的 Listen Port 与(如启用)SSL 端口,并记录端口清单。
- 执行:
- 方式 B 复制现有域并修改配置
- 复制域目录:
cp -r $WL_HOME/user_projects/domains/base_domain $WL_HOME/user_projects/domains/app1 - 修改新域配置:编辑 config.xml,确保以下项唯一
- Domain Name
- Server Name
- Listen Port
- Admin Port(如启用)
- Node Manager Port
- 数据源 JDBC、JMS 等需要按实例调整的参数
- 复制域目录:
- 端口规划建议(示例)
- 管理服务器:7001
- 托管服务器 1:7003
- 托管服务器 2:7005
- 节点管理器:5556
- 启动与停止脚本示例(放入每个域的 bin 目录)
- start.sh
#!/bin/bashexport DOMAIN_HOME=/opt/weblogic/user_projects/domains/app1$DOMAIN_HOME/bin/startWebLogic.sh > $DOMAIN_HOME/servers/AdminServer/logs/start.out 2> & 1 &
- stop.sh
#!/bin/bashexport DOMAIN_HOME=/opt/weblogic/user_projects/domains/app1$DOMAIN_HOME/bin/stopWebLogic.sh > $DOMAIN_HOME/servers/AdminServer/logs/stop.out 2> & 1
- 赋权:
chmod +x $DOMAIN_HOME/bin/*.sh
- start.sh
三 使用 Node Manager 集中管理
- 配置 Node Manager
- 编辑 nodemanager.properties(通常位于 $WL_HOME/common/nodemanager):
- 关键项:
ListenPort=5556、SecureListener=false(测试环境)、StartScriptEnabled=true
- 关键项:
- 启动 Node Manager(建议以 weblogic 用户后台运行):
nohup $WL_HOME/server/bin/startNodeManager.sh > $WL_HOME/common/nodemanager/nodemanager.out 2> & 1 &
- 编辑 nodemanager.properties(通常位于 $WL_HOME/common/nodemanager):
- 通过 Node Manager 启停托管服务器
- 启动:
$WL_HOME/server/bin/startManagedWebLogic.sh app1_ms1 http://< admin_host> :7001 - 停止:
$WL_HOME/server/bin/stopManagedWebLogic.sh app1_ms1 http://< admin_host> :7001
- 启动:
- 常用检查
- 查看 Node Manager 日志:
tail -f $WL_HOME/common/nodemanager/nodemanager.log - 查看受管服务器日志:
tail -f $DOMAIN_HOME/servers/app1_ms1/logs/app1_ms1.log
- 查看 Node Manager 日志:
四 监控与日常运维
- 控制台与 JMX
- 管理控制台:http://:7001/console
- 使用 JMX 采集指标与做自动化运维(配合脚本或监控平台)。
- 日志与告警
- 统一收集 AdminServer 与 Managed Server 的 server.log、access.log,并设置日志轮转与告警策略。
- 集群与高可用(如采用集群)
- 在控制台创建 Cluster,添加托管服务器,前端放置 负载均衡器(如 HAProxy/Nginx/OHS),实现流量分发与故障转移。
- 数据库层建议启用 高可用(如 RAC 或主从复制),避免单点。
- 备份与恢复
- 定期备份 域目录 与 应用归档,并演练恢复流程,确保 RPO/RTO 达标。
五 systemd 服务化与一键编排
- 托管服务器服务示例(/etc/systemd/system/wls@.service)
- 说明:通过实例名参数化,统一启停多个实例
- 内容:
[Unit]Description=WebLogic Managed Server %iAfter=network.target wls-nodemanager.service[Service]Type=forkingUser=weblogicEnvironment="DOMAIN_HOME=/opt/weblogic/user_projects/domains/app1"ExecStart=$DOMAIN_HOME/bin/startManagedWebLogic.sh %i http://127.0.0.1:7001ExecStop=$DOMAIN_HOME/bin/stopManagedWebLogic.sh %i http://127.0.0.1:7001Restart=on-failure[Install]WantedBy=multi-user.target
- Node Manager 服务示例(/etc/systemd/system/wls-nodemanager.service)
- 内容:
[Unit]Description=WebLogic Node ManagerAfter=network.target[Service]Type=simpleUser=weblogicExecStart=$WL_HOME/server/bin/startNodeManager.shExecStop=/bin/kill -TERM $MAINPIDRestart=always[Install]WantedBy=multi-user.target
- 内容:
- 常用操作
- 启用:
sudo systemctl daemon-reload - 启动 NM:
sudo systemctl enable --now wls-nodemanager.service - 启动托管实例:
sudo systemctl enable --now wls@app1_ms1.service - 查看状态:
systemctl status wls@*
- 启用:
- 一键编排脚本示例(start_all.sh)
#!/bin/bashdomains=(app1 app2)for d in "${ domains[@]} "; donohup $WL_HOME/server/bin/startWebLogic.sh -Dweblogic.Name=AdminServer -Dweblogic.Domain=$WL_HOME/user_projects/domains/$d > $WL_HOME/user_projects/domains/$d/servers/AdminServer/logs/start.out 2> & 1 &done
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上如何管理多个WebLogic实例
本文地址: https://pptw.com/jishu/751695.html
