温馨提示×

WebLogic在Ubuntu上如何部署应用

小樊
41
2025-12-12 18:23:12
栏目: 智能运维

在 Ubuntu 上部署应用到 WebLogic 的完整流程

一 环境准备

  • 安装 Java(示例为 OpenJDK 11,WebLogic 12c/14c 均可用;如使用 Oracle JDK 8 亦可,注意与 WebLogic 版本匹配):
    • 安装:sudo apt update && sudo apt install openjdk-11-jdk
    • 验证:java -version
  • 创建专用用户(推荐):sudo groupadd weblogic && sudo useradd -g weblogic weblogic && sudo passwd weblogic
  • 规划目录(示例):/opt/weblogic,并将目录属主设为 weblogic:sudo chown -R weblogic:weblogic /opt/weblogic
  • 准备安装介质(示例为 WebLogic 12c 12.2.1.3.0 通用安装包),上传至 /opt/weblogic

二 安装 WebLogic Server

  • 静默安装(无图形界面,推荐):
    • 切换用户:su - weblogic
    • 创建响应文件 /opt/weblogic/wls.rsp
      [ENGINE]
      Response File Version=1.0.0.0.0
      [GENERIC]
      ORACLE_HOME=/opt/weblogic/Oracle/Middleware
      INSTALL_TYPE=WebLogic Server
      DECLINE_SECURITY_UPDATES=true
      SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
      
    • 创建清单文件 /opt/weblogic/oraInst.loc
      Inventory_loc=/opt/weblogic/oraInventory
      Inst_group=weblogic
      
    • 执行安装:java -jar /opt/weblogic/fmw_12.2.1.3.0_wls.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
    • 看到 “Installation successful” 即完成。
  • 图形化安装(有桌面环境时可用):解压安装包后执行 java -jar fmw_*.jar,按向导完成。

三 创建域与启动管理服务器

  • 使用 WLST 离线创建域(推荐,便于可控配置):
    • 进入 WLST:cd /opt/weblogic/Oracle/Middleware/wlserver/common/bin && ./wlst.sh
    • 交互示例:
      wls:/offline> readTemplate('/opt/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
      wls:/offline/base_domain> cd('Server/AdminServer')
      wls:/offline/base_domain/Server/AdminServer> set('ListenAddress','')
      wls:/offline/base_domain/Server/AdminServer> set('ListenPort',9000)
      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/Oracle/Middleware/user_projects/domains/base_domain')
      wls:/offline/base_domain/Security/base_domain/User/weblogic> closeTemplate()
      wls:/offline> exit()
      
  • 启动管理服务器:
    • 前台:./startWebLogic.sh(便于看日志)
    • 后台:nohup ./startWebLogic.sh &
  • 访问控制台:http://<服务器IP>:9000/console,使用设置的 weblogic/YourStrongP@ssw0rd 登录。

四 部署应用到 WebLogic

  • 控制台部署(通用、直观):
    • 登录控制台 → 左侧 部署安装 → 选择应用包(WAR/EAR)→ 选择目标(如 AdminServer 或集群)→ 完成并 激活更改
    • 部署后可通过 http://<IP>:9000/<应用上下文根> 访问。
  • 命令行部署(WLST 或 weblogic.Deployer,适合自动化/脚本化):
    • 使用 WLST 部署示例:
      ./wlst.sh
      connect('weblogic','YourStrongP@ssw0rd','t3://localhost:9000')
      deploy('myapp','/opt/app/myapp.war',targets='AdminServer',stageMode='stage')
      exit()
      
    • 使用 weblogic.Deployer(旧版工具,示例):
      java weblogic.Deployer -url t3://localhost:9000 -username weblogic -password YourStrongP@ssw0rd deploy /opt/app/myapp.war
      
  • 常见补充:
    • 如应用依赖 Hibernate/ANTLR,将相关 JAR 放入域目录 lib(如 user_projects/domains/base_domain/lib/),并在 setDomainEnv.shPRE_CLASSPATH 中追加,然后重启。
    • 若端口非默认 7001,请将示例中的 7001 替换为你的 监听端口(如 9000)

五 运维与安全建议

  • 防火墙与端口:开放管理端口(示例 9000
    • UFW:sudo ufw allow 9000/tcp
    • firewalld:sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent && sudo firewall-cmd --reload
  • 生产建议:
    • 不建议以 root 运行 WebLogic,使用 weblogic 用户并做最小权限配置。
    • 配置 JVM 堆大小GC 策略连接池 等参数;为管理通道启用 SSL
    • 使用 Nginx/HAProxy 做反向代理与负载均衡,控制台仅限内网访问。
    • 将域目录纳入 备份(如 /opt/weblogic/Oracle/Middleware/user_projects/domains/)。

0