温馨提示×

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 8JDK 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)、限制管理控制台访问来源、强口令策略、及时打补丁。
  • 备份与恢复
    • 定期备份 域目录应用包,保留回滚版本;变更前做离线备份与快照

0