温馨提示×

Linux下WebLogic如何部署应用

小樊
48
2025-10-29 04:54:06
栏目: 智能运维

Linux下WebLogic部署应用的完整步骤

一、前置准备

  1. 安装JDK
    WebLogic依赖JDK运行,需提前安装符合版本要求的JDK(如JDK 8)。通过java -version检查是否已安装;若未安装,从Oracle官网下载JDK安装包,解压至指定目录(如/usr/local/java),并配置环境变量:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export PATH=$JAVA_HOME/bin:$PATH
    source /etc/profile  # 使配置生效
    

    验证安装:java -version应显示JDK版本信息。

  2. 创建专用用户
    为避免权限问题,使用非root用户(如weblogic)安装和运行WebLogic:

    groupadd weblogic
    useradd -g weblogic weblogic
    passwd weblogic  # 设置密码
    

    后续操作需切换至weblogic用户:su - weblogic

  3. 下载并解压WebLogic安装包
    从Oracle官网下载适用于Linux的WebLogic安装包(如fmw_14.1.1.0.0_wls_lite_generic.jar),解压至目标目录(如/opt/weblogic):

    mkdir -p /opt/weblogic
    mv fmw_14.1.1.0.0_wls_lite_generic.jar /opt/weblogic/
    chown -R weblogic:weblogic /opt/weblogic  # 授权
    chmod +x /opt/weblogic/fmw_*.jar  # 赋予可执行权限
    
  4. 配置环境变量
    编辑weblogic用户的~/.bash_profile文件,添加WebLogic相关环境变量:

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181
    export WL_HOME=/opt/weblogic/Oracle/Middleware  # 根据实际安装路径调整
    export PATH=$WL_HOME/bin:$PATH
    source ~/.bash_profile  # 使配置生效
    

二、安装WebLogic Server

  1. 静默安装
    切换至weblogic用户,运行安装脚本(需提前创建oraInst.locwls.rsp响应文件):

    • oraInst.loc(指定安装库存放路径):
      vi /opt/weblogic/oraInst.loc
      # 内容:inventory_loc=/home/weblogic/oraInventory; inst_group=weblogic
      
    • wls.rsp(响应文件,配置安装参数):
      vi /opt/weblogic/wls.rsp
      # 关键内容:ORACLE_HOME=/opt/weblogic/Oracle/Middleware; INSTALL_TYPE=WebLogic Server; DECLINE_SECURITY_UPDATES=true
      

    执行安装:

    cd /opt/weblogic
    java -jar fmw_*.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
    

    安装完成后,Oracle Middleware目录($WL_HOME)会生成。

  2. 创建域
    域是WebLogic的管理单元,需通过配置向导或WLST脚本创建:

    • 图形化方式
      运行config.sh脚本,按照向导设置域名称(如base_domain)、管理员账号(如weblogic/weblogic1234)、监听端口(默认7001)等信息。
    • 命令行方式(WLST)
      cd $WL_HOME/server/bin
      ./wlst.sh
      # 输入以下命令创建域
      readTemplateForUpdate('/opt/weblogic/wlserver/common/templates/wls/wls.jar')
      cd('Servers/AdminServer')
      set('ListenAddress', '');  # 空表示监听所有IP
      set('ListenPort', 7001)
      cd('/')
      cd('Security/base_domain/User/weblogic')
      cmo.setPassword('weblogic1234')
      set('OverwriteDomain', 'true')
      writeDomain('/opt/weblogic/user_projects/domains/base_domain')
      closeTemplate()
      exit()
      

    域创建完成后,目录结构如下:
    /opt/weblogic/user_projects/domains/base_domain(包含配置文件、应用目录等)。

  3. 启动WebLogic Server
    进入域的bin目录,启动管理服务器:

    cd /opt/weblogic/user_projects/domains/base_domain/bin
    ./startWebLogic.sh
    

    启动成功后,终端会显示“Server started in RUNNING mode”。

三、通过管理控制台部署应用

  1. 访问控制台
    打开浏览器,输入http://<服务器IP>:7001/console,使用管理员账号(如weblogic/weblogic1234)登录。

  2. 上传并配置应用

    • 点击左侧导航栏部署安装,选择应用文件(WAR/EAR格式,如myapp.war)。
    • 配置部署参数:
      • 名称:自定义应用名称(如myapp);
      • 目标:选择部署目标(如AdminServer,若有多个受管服务器需勾选对应节点);
      • 上下文根:设置访问路径(如/myapp,默认为WAR文件名)。
    • 点击下一步完成,应用会自动部署并启动。

四、通过命令行部署应用

  1. 使用weblogic.Deployer工具
    WebLogic提供了weblogic.Deployer命令行工具,用于部署、更新或移除应用。基本语法如下:

    java -cp $WL_HOME/server/lib/weblogic.jar weblogic.Deployer \
    -adminurl t3://<服务器IP>:7001 \  # 管理服务器地址
    -username <管理员账号> \          # 如weblogic
    -password <管理员密码> \          # 如weblogic1234
    -name <应用名称> \                # 如myapp
    -deploy <应用路径> \              # 如/home/weblogic/myapp.war
    -targets <目标服务器>             # 如AdminServer(多服务器用逗号分隔)
    

    示例:

    java -cp /opt/weblogic/Oracle/Middleware/wlserver/server/lib/weblogic.jar weblogic.Deployer \
    -adminurl t3://localhost:7001 \
    -username weblogic -password weblogic1234 \
    -deploy /home/weblogic/myapp.war -name myapp -targets AdminServer
    
  2. 常用命令

    • 更新应用:将-deploy改为-redeploy,其余参数不变。
    • 移除应用:使用-undeploy参数,如:
      java -cp /opt/weblogic/Oracle/Middleware/wlserver/server/lib/weblogic.jar weblogic.Deployer \
      -adminurl t3://localhost:7001 \
      -username weblogic -password weblogic1234 \
      -undeploy -name myapp
      
  3. 注意事项

    • 若密码包含特殊字符(如@#),需用单引号包裹(如-password 'mypassword@123');
    • 开发环境未配置受管服务器时,无需指定-targets参数;
    • 可通过export CLASSPATH=$WL_HOME/server/lib/weblogic.jar简化命令(避免每次指定-cp)。

五、常见问题排查

  • 部署失败:检查应用WAR/EAR文件是否损坏,查看WebLogic日志(/opt/weblogic/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log)获取详细错误信息;
  • 无法访问控制台:确认防火墙是否放行7001端口(systemctl stop firewalld临时关闭防火墙测试),或检查SELinux是否禁用(setenforce 0);
  • 权限问题:确保应用目录和文件归属weblogic用户(chown -R weblogic:weblogic /opt/weblogic)。

0