Debian下WebLogic应用部署流程
小樊
36
2025-12-07 05:58:06
Debian下WebLogic应用部署流程
一 环境准备与安装
- 系统更新与用户准备
- 执行系统更新并创建专用用户(避免直接使用 root):
- sudo apt update && sudo apt upgrade -y
- sudo groupadd -r weblogic && sudo useradd -r -g weblogic -m -d /opt/weblogic weblogic
- Java 环境
- WebLogic 12c/14c 建议使用 JDK 8 或 JDK 11。示例安装 OpenJDK 11:
- sudo apt install -y openjdk-11-jdk
- 验证:java -version
- 如需 Oracle JDK,可下载 tar.gz 并解压至 /opt/jdk,然后设置环境变量(见下文)。
- 安装 WebLogic
- 从 Oracle 获取适用于 Linux x86-64 的 WebLogic Server 14c 安装包(Generic 或 Linux x86-64 bin),示例:
- wget https://download.oracle.com/otn/weblogic/weblogic-server-141100/141100/weblogic-server-141100-linux-x86-64-bin.tar.gz
- sudo tar -xzf weblogic-server-141100-linux-x86-64-bin.tar.gz -C /opt
- 目录与权限:
- sudo chown -R weblogic:weblogic /opt/weblogic
- 建议将应用与域放在 /opt/weblogic 下统一管理
二 创建域与基础配置
- 以 weblogic 用户创建域(两种常用方式)
- 图形化配置向导(需 GUI/远程桌面或 X11 转发):
- /opt/weblogic/oracle_common/common/bin/config.sh
- 静默/脚本方式(WLST 或模板域):
- 使用 WLST 执行脚本创建域(示例:basicWLSDomain.py),或复制模板域后使用 config.sh 定制。
- 环境变量(建议写入 /etc/profile.d/weblogic.sh)
- 示例(按实际路径调整):
- export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- export MW_HOME=/opt/weblogic
- export DOMAIN_HOME=/opt/weblogic/user_projects/domains/base_domain
- export PATH=$JAVA_HOME/bin:$MW_HOME/wlserver/bin:$DOMAIN_HOME/bin:$PATH
- 使配置生效:source /etc/profile.d/weblogic.sh
- 启动管理服务器并验证
- 后台启动:
- nohup $DOMAIN_HOME/bin/startWebLogic.sh > $DOMAIN_HOME/logs/start.out 2>&1 &
- 访问控制台:打开浏览器访问 http://<服务器IP>:7001/console,使用创建域时设置的管理员账户登录
三 部署应用到管理服务器
- 控制台部署(适合首次与小规模)
- 登录控制台 → 左侧“部署” → “安装” → 选择应用包(WAR/EAR)→ 选择目标(AdminServer 或集群)→ 完成并“激活更改”。
- 命令行部署(适合自动化与CI/CD)
- 使用 weblogic.Deployer(路径随版本略有差异,示例):
- $DOMAIN_HOME/bin/wlst.sh
- 在 WLST 交互中执行:
- connect(‘weblogic’,‘密码’,‘t3://localhost:7001’)
- deploy(‘myapp’, ‘file:/opt/apps/myapp.war’, targets=‘AdminServer’, archiveOnDeploy=true)
- save()
- activate()
- 或直接调用部署工具(部分版本可用):
- java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password 密码 -deploy /opt/apps/myapp.war
- 自动/热部署目录(开发/测试常用)
- 将 WAR 放入域的自动部署目录(示例):
- $DOMAIN_HOME/servers/AdminServer/uploads
- 控制台“自动部署”开启后,文件变更会自动生效(生产不建议)
四 多节点与集群部署
- 架构要点
- 在管理服务器所在节点创建 集群(Cluster),添加多个 受管服务器(Managed Server),可分布在不同物理机或虚拟机上。
- 对外通过 HTTP 负载均衡器(如 Nginx/HAProxy/硬件 F5)或 WebLogic Server 代理(Proxy Server) 暴露服务。
- WLST 基本步骤(示例)
- 创建集群与受管服务器、将服务器加入集群、配置监听地址与端口、设置会话复制(如需有状态会话)。
- 示例(WLST 交互):
- connect(‘weblogic’,‘密码’,‘t3://admin-host:7001’)
- edit()
- startEdit()
- cd(‘/’)
- cmo.createCluster(‘myCluster’)
- cd(‘/Servers’)
- cmo.createServer(‘ms1’)
- cmo.createServer(‘ms2’)
- cd(‘/Clusters/myCluster’)
- cmo.addMember(‘ms1’)
- cmo.addMember(‘ms2’)
- save()
- activate()
- 负载均衡与路由
- 负载均衡器健康检查指向各受管服务器的 HTTP 端口(常见为 7001/7002 等),会话保持策略与亲和性按应用需求配置
五 运维与安全要点
- 服务与进程管理
- 建议使用 systemd 托管(示例 /etc/systemd/system/wls-admin.service):
- ExecStart=/opt/weblogic/user_projects/domains/base_domain/bin/startWebLogic.sh
- User=weblogic
- Restart=on-failure
- 停止:/opt/weblogic/user_projects/domains/base_domain/bin/stopWebLogic.sh
- 日志与监控
- 关键日志路径:
- 管理服务器:$DOMAIN_HOME/servers/AdminServer/logs
- 受管服务器:$DOMAIN_HOME/servers//logs
- 结合 WebLogic 控制台监控、JVM 监控(如 jstat/jstack)与第三方监控(如 Prometheus/Grafana)建立告警。
- 防火墙与端口
- 放行必要端口(示例):7001(管理)、7002(受管/代理)、负载均衡器与健康检查端口。
- 安全加固
- 启用 SSL/TLS(配置 Keystore/Truststore)、限制管理控制台访问来源、强口令策略、及时打补丁。
- 备份与恢复
- 定期备份 域目录 与 应用包,保留回滚版本;变更前做离线备份与快照