温馨提示×

Ubuntu WebLogic如何部署

小樊
40
2025-12-12 18:15:13
栏目: 智能运维

Ubuntu 上部署 WebLogic 的完整步骤

一 环境准备与版本选择

  • 准备受支持的 JDK:WebLogic 12c(12.2.x) 建议使用 JDK 8u333;WebLogic 14c(14.1.1) 建议使用 JDK 11。从 Oracle 官网下载对应版本,避免使用系统自带的 OpenJDK,以免安装时报错。
  • 创建专用用户与目录:出于安全与权限考虑,建议创建 weblogic 用户并授权安装目录。
  • 安装方式:Ubuntu 上通常通过 Oracle 安装 JAR(fmw_*.jar) 进行静默安装,而非 apt 包管理。
  • 示例规划:JDK 路径 /usr/local/jdk1.8.0_333;WebLogic 安装基目录 /opt/weblogic;域目录 /opt/weblogic/user_projects/domains/base_domain

二 安装 JDK 并验证

  • 解压与配置环境变量(以 JDK 8 为例):
    sudo tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local
    echo 'export JAVA_HOME=/usr/local/jdk1.8.0_333' | sudo tee -a /etc/profile
    echo 'export JRE_HOME=$JAVA_HOME/jre' | sudo tee -a /etc/profile
    echo 'export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH' | sudo tee -a /etc/profile
    echo 'export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH' | sudo tee -a /etc/profile
    source /etc/profile
    java -version
    
  • 验证输出应包含 1.8.0_333,表示 JDK 安装成功。

三 静默安装 WebLogic Server

  • 创建用户与目录并授权:
    sudo groupadd weblogic
    sudo useradd -g weblogic -m -s /bin/bash weblogic
    echo "weblogic:YourStrongPass" | sudo chpasswd
    sudo mkdir -p /opt/weblogic
    sudo chown -R weblogic:weblogic /opt/weblogic
    
  • 准备响应文件与清单文件(切换到 weblogic 用户操作):
    su - weblogic
    mkdir -p /opt/weblogic
    cat > /opt/weblogic/wls.rsp <<'EOF'
    [ENGINE]
    Response File Version=1.0.0.0.0
    [GENERIC]
    ORACLE_HOME=/opt/weblogic/oracle_home
    INSTALL_TYPE=WebLogic Server
    DECLINE_SECURITY_UPDATES=true
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
    EOF
    
    cat > /opt/weblogic/oraInst.loc <<'EOF'
    inventory_loc=/home/weblogic/oraInventory
    inst_group=weblogic
    EOF
    
  • 执行静默安装(显式指定 JDK 以避免使用 OpenJDK):
    /usr/local/jdk1.8.0_333/bin/java -jar /opt/weblogic/fmw_12.2.1.4.0_wls_lite_generic.jar \
      -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
    
  • 安装成功日志包含 “Successfully Setup Software.”

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

  • 使用 WLST 离线创建域(示例创建在 /opt/weblogic/user_projects/domains/base_domain,管理端口 7001):
    /opt/weblogic/oracle_home/wlserver/common/bin/wlst.sh
    
    # 在 WLST 交互中执行:
    readTemplate('/opt/weblogic/oracle_home/wlserver/common/templates/wls/wls.jar')
    cd('Server/AdminServer')
    set('ListenAddress','')
    set('ListenPort',7001)
    cd('/')
    cd('Security/base_domain/User/weblogic')
    cmo.setPassword('YourWebLogicPass1!')
    setOption('OverwriteDomain','true')
    writeDomain('/opt/weblogic/user_projects/domains/base_domain')
    closeTemplate()
    exit()
    
  • 启动与访问:
    # 前台启动(便于看日志)
    /opt/weblogic/user_projects/domains/base_domain/startWebLogic.sh
    
    # 后台启动
    nohup /opt/weblogic/user_projects/domains/base_domain/startWebLogic.sh > domain.log 2>&1 &
    
  • 浏览器访问控制台:http://服务器IP:7001/console,使用 weblogic/YourWebLogicPass1! 登录。

五 防火墙放行与系统服务自启

  • 防火墙放行管理端口(UFW 示例):
    sudo ufw allow 7001/tcp
    sudo ufw reload
    
  • 如需 firewalld(部分系统):
    sudo firewall-cmd --zone=public --add-port=7001/tcp --permanent
    sudo firewall-cmd --reload
    
  • 创建 systemd 服务实现开机自启(创建文件 /etc/systemd/system/weblogic.service):
    sudo tee /etc/systemd/system/weblogic.service >/dev/null <<'EOF'
    [Unit]
    Description=WebLogic Server
    After=network.target
    
    [Service]
    Type=simple
    User=weblogic
    Group=weblogic
    WorkingDirectory=/opt/weblogic/user_projects/domains/base_domain
    ExecStart=/bin/bash /opt/weblogic/user_projects/domains/base_domain/startWebLogic.sh
    ExecStop=/bin/bash /opt/weblogic/user_projects/domains/base_domain/bin/stopWebLogic.sh
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    sudo systemctl daemon-reload
    sudo systemctl enable --now weblogic
    sudo systemctl status weblogic
    
  • 常见问题与提示:
    • 安装阶段必须使用 Oracle JDK,否则可能报兼容性错误。
    • 若使用 Ubuntu 22.04+nftables/firewalld,请改用对应防火墙命令放行端口。
    • 生产环境建议将 ADMIN_PORT 改为非默认端口,并启用 SSL/TLS、限制管理控制台访问来源。

0