如何在Ubuntu上定制WebLogic应用部署
导读:Ubuntu上定制WebLogic应用部署 一 环境准备与版本匹配 安装受支持的 JDK 8(WebLogic 12c 系列通常与 JDK 8 配套;使用 OpenJDK 可能在安装阶段报错,建议使用 Oracle JDK 8)。 创建专...
Ubuntu上定制WebLogic应用部署
一 环境准备与版本匹配
- 安装受支持的 JDK 8(WebLogic 12c 系列通常与 JDK 8 配套;使用 OpenJDK 可能在安装阶段报错,建议使用 Oracle JDK 8)。
- 创建专用用户 weblogic 并准备安装目录,避免使用 root 直接安装。
- 准备静默安装所需文件 wls.rsp 与 oraInst.loc,指定 ORACLE_HOME、Inventory_loc 与安装选项(如 DECLINE_SECURITY_UPDATES=true)。
- 使用受支持的 WebLogic 安装包(如 fmw_12.2.1.4.0_wls_lite_generic.jar),通过 java -jar 执行静默安装。
- 安装完成后,使用 wlst.sh 离线创建域、设置 AdminServer 的监听地址与端口(如 9000),并写入域目录。
- 如启用防火墙,放行相应端口(例如 firewalld 放行 9000/tcp)。
二 三种部署方式与选择
- 控制台部署:登录 http://:7001/console,在“部署”中上传 .war/.ear,按向导完成安装与启动,适合生产环境的可控发布与回滚。
- 自动部署:将包放入域目录 autodeploy,仅在 开发模式 下会自动部署,适合快速迭代与验证。
- 配置文件部署:在域的 config.xml 中以声明方式加入应用条目,便于版本化与自动化交付(需严格遵循 schema 与目录结构)。
三 应用定制关键配置
- 上下文根与虚拟目录:在 weblogic.xml 的 设置访问上下文;使用 将 URL 前缀映射到文件系统目录,实现静态资源与版本化目录分离。
- 会话与 Cookie:通过 调整会话行为,例如 timeout-secs(默认 3600 秒)、persistent-store-type(memory/replicated/jdbc/file)、cookie-secure(仅 HTTPS 传输)、url-rewriting-enabled(Cookie 禁用时启用 URL 重写)。
- 安全角色映射:在 将应用角色映射到 WebLogic 主体(用户/组),或使用 引用领域级角色,满足细粒度授权。
- 资源引用与 JNDI:用 、、 等将资源引用(DataSource、JMS、EJB、WS)绑定到目标 JNDI 名称,确保应用与运行时解耦。
- 类库共享与打包:通过 引用共享库(如通用框架/工具包),避免打进每个应用包,减少冲突与体积。
四 自动化与运维实践
- 使用 WLST 脚本化建域、部署与启停,将步骤纳入 Git 管理,支持多环境(DEV/UAT/PROD)参数化。
- 采用 systemd 托管 WebLogic 服务,配置 weblogic.service(ExecStart 指向域的 startWebLogic.sh,设置 User=weblogic、WorkingDirectory、LimitNOFILE 等),实现开机自启与统一日志(journalctl -u weblogic)。
- 引入 Ansible 编排:批量分发 JDK/WebLogic、执行 WLST、分发应用包、切换 context-root、回滚版本,结合 CI/CD 实现一键交付与灰度发布。
- 集群与高可用:在控制台“环境 → 集群”创建集群,添加托管服务器,配置会话复制策略(如 replicated_if_clustered),前端接入 负载均衡器 或 SSL 卸载器;当使用 SSL 时,建议禁用非 SSL 端口或做重定向,确保全链路加密。
五 常见问题与快速排查
- JDK 版本不兼容:安装阶段报错的常见原因是 OpenJDK 或版本不匹配;改用 Oracle JDK 8 并显式设置 JAVA_HOME 后再执行安装。
- 端口与防火墙:访问 http://:7001/console 失败,先确认 AdminServer 监听端口(默认 7001,或自定义的 9000),并在防火墙放行对应端口。
- 类冲突与依赖缺失:将通用依赖放入 共享库 并用 引用;特定驱动/库可放入 $DOMAIN_HOME/lib 并在 setDomainEnv.sh 的 PRE_CLASSPATH 中前置,避免与系统库冲突。
- 部署方式误用:将应用放入 autodeploy 但未处于 开发模式 不会自动部署;需改用控制台安装或切到开发模式。
- 会话粘滞与 Cookie 策略:集群环境优先使用会话复制;若客户端禁用 Cookie,启用 url-rewriting-enabled 并确保负载均衡开启会话粘滞(Sticky Session)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上定制WebLogic应用部署
本文地址: https://pptw.com/jishu/773543.html
