温馨提示×

Debian上WebLogic应用部署步骤

小樊
33
2025-12-21 02:51:52
栏目: 智能运维

在 Debian 上部署 WebLogic 应用的标准流程


一 环境准备与安装

  • 安装受支持的 Java(示例为 OpenJDK 11;WebLogic 通常要求 Java 8 或更高版本):
    • 执行:sudo apt update && sudo apt install -y openjdk-11-jdk
    • 验证:java -version
  • 创建专用系统用户(推荐):sudo useradd -m -d /opt/weblogic -s /bin/bash weblogic
  • 准备 WebLogic 安装介质(示例为 14c 通用包):
    • 将安装 JAR(如:fmw_14.1.1.0.0_wls_lite_generic.jar)上传至 /opt/weblogic
    • 切换用户:sudo su - weblogic
    • 创建响应文件(silent.rsp,最小化示例):
      [ENGINE]
      Response File Version=1.0.0.0.0
      [GENERIC]
      ORACLE_HOME=/opt/weblogic/oracle
      INSTALL_TYPE=WebLogic Server
      [SYSTEM]
      [APPLICATIONS]
      [LIBRARIES]
      
    • 静默安装:java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/silent.rsp -invPtrLoc /opt/weblogic/oraInst.loc
  • 设置环境变量(写入 /etc/profile.d/weblogic.sh):
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export MW_HOME=/opt/weblogic/oracle
    export PATH=$JAVA_HOME/bin:$MW_HOME/wlserver/server/bin:$MW_HOME/oracle_common/common/bin:$PATH
    
    • 使生效:source /etc/profile.d/weblogic.sh
  • 说明:WebLogic 为通用 Java 应用,可在 Debian 上直接安装运行;安装介质与响应文件可从 Oracle 官方获取。

二 创建域与管理服务器

  • 使用 WLST 创建域(示例域名为 base_domain):
    • 交互式:$MW_HOME/wlserver/common/bin/wlst.sh
      wls:/offline> readTemplate($MW_HOME/wlserver/common/templates/wls/wls.jar)
      wls:/offline/base_domain> cd('Servers/AdminServer')
      wls:/offline/base_domain/Server/AdminServer> set('ListenAddress','')
      wls:/offline/base_domain/Server/AdminServer> set('ListenPort',7001)
      wls:/offline/base_domain/Server/AdminServer> cd('..')
      wls:/offline/base_domain> cd('Security/base_domain/User/weblogic')
      wls:/offline/base_domain/Security/base_domain/User/weblogic> cmo.setPassword('YourStrongP@ssw0rd')
      wls:/offline/base_domain/Security/base_domain/User/weblogic> setOption('OverwriteDomain','true')
      wls:/offline/base_domain/Security/base_domain/User/weblogic> writeDomain('/opt/weblogic/user_projects/domains/base_domain')
      wls:/offline/base_domain/Security/base_domain/User/weblogic> closeTemplate()
      wls:/offline/base_domain/Security/base_domain/User/weblogic> exit()
      
    • 非交互式:保存为 create_domain.py 后执行:$MW_HOME/wlserver/common/bin/wlst.sh create_domain.py
  • 启动管理服务器:
    • 前台:$MW_HOME/user_projects/domains/base_domain/startWebLogic.sh
    • 后台:nohup $MW_HOME/user_projects/domains/base_domain/startWebLogic.sh > logs/AdminServer.out 2>&1 &
  • 访问控制台:打开浏览器访问 http://<服务器IP>:7001/console,使用用户名 weblogic 与设置的密码登录。

三 部署应用到管理服务器

  • 控制台部署(适合首次与小规模):
    • 登录控制台 → 左侧 DeploymentsInstall → 选择应用包(WAR/EAR)→ 选择目标(如 AdminServer)→ 完成向导后 Start 应用。
  • 命令行部署(适合自动化与脚本化):
    • 进入域目录:cd $MW_HOME/user_projects/domains/base_domain
    • 部署命令:
      $MW_HOME/oracle_common/common/bin/wlst.sh
      wls:/offline> connect('weblogic','YourStrongP@ssw0rd','t3://localhost:7001')
      wls:/base_domain/serverConfig> deploy('myapp','/opt/app/myapp.war',targets='AdminServer',stageMode='nostage')
      wls:/base_domain/serverConfig> exit()
      
  • 验证:
    • 控制台查看部署状态为 Active
    • 访问应用上下文根(例如 http://:7001/myapp)。

四 扩展为集群与负载均衡

  • 在控制台创建集群:
    • 导航 Environment → Clusters → Create,输入集群名称(如 cluster1),协议保持 t3,端口范围保持默认或按需调整。
  • 添加托管服务器(示例两台,分别位于 7003/7005):
    • 导航 Environment → Servers → New,创建如 server1(7003)server2(7005),将两者加入 cluster1
  • 启动托管服务器(后台方式):
    nohup $MW_HOME/user_projects/domains/base_domain/bin/startManagedWebLogic.sh server1 http://<管理IP>:7001 > logs/server1.out 2>&1 &
    nohup $MW_HOME/user_projects/domains/base_domain/bin/startManagedWebLogic.sh server2 http://<管理IP>:7001 > logs/server2.out 2>&1 &
    
  • 部署到集群:
    • 控制台或 WLST 将应用目标设置为 cluster1,实现在集群内分发与故障转移。
  • 前端负载均衡:
    • 使用 Apache HTTP Server + mod_wlNginx/HAProxy 做 HTTP 负载均衡,将请求转发至各托管服务器的 7003/7005 或管理服务器端口(如 7001)。
  • 验证:
    • 控制台检查 Servers/Clusters 状态为 RUNNING
    • 应用日志位于:$MW_HOME/user_projects/domains/base_domain/servers//logs

五 运维与安全要点

  • 服务与进程管理:
    • 后台启动/停止:startWebLogic.sh/stopWebLogic.sh;托管服务器使用 startManagedWebLogic.sh/stopManagedWebLogic.sh
    • 建议通过 systemdnohup+日志轮转管理长期运行
  • 防火墙与端口:
    • 放行必要端口(示例:7001/7003/7005 及负载均衡端口),如 UFW:sudo ufw allow 7001,7003,7005/tcp
  • 日志与监控:
    • 关键日志路径:$MW_HOME/user_projects/domains/base_domain/servers//logs
    • 结合 WebLogic Console 监控 JVM线程数据源 等指标
  • 备份与恢复:
    • 定期备份 域目录应用包,变更前做快照,保留回滚方案
  • 安全加固:
    • 修改默认 weblogic 口令,限制管理端口访问来源,启用 SSL/TLS 与合规的加密套件
  • 版本与补丁:
    • 保持 JavaWebLogic 的安全补丁为最新稳定版本,遵循变更窗口与回退计划。

0