温馨提示×

Linux WebLogic应用部署最佳实践

小樊
40
2025-11-30 16:56:59
栏目: 智能运维

Linux WebLogic 应用部署最佳实践

一 环境准备与基线

  • 运行环境与权限
    • 使用 64 位 Linux(如 CentOS/RHEL/Oracle Linux/EulerOS),创建专用系统用户 weblogic:weblogic,安装目录归属该用户,避免使用 root 运行。
    • 示例:
      • groupadd weblogic && useradd -g weblogic weblogic
      • mkdir -p /app/weblogic && chown -R weblogic:weblogic /app/weblogic
  • Java 与版本匹配
    • 明确 WebLogic 版本 ↔ JDK 版本 的兼容矩阵,避免混用。
    • 示例(以 JDK 11 为例):
      • tar -zxvf jdk-11.x.x_linux-x64_bin.tar.gz -C /usr/local/
      • echo ‘export JAVA_HOME=/usr/local/jdk-11.x.x’ >> ~weblogic/.bash_profile
      • echo ‘export PATH=$JAVA_HOME/bin:$PATH’ >> ~weblogic/.bash_profile
      • source ~weblogic/.bash_profile && java -version
  • 主机名与解析
    • 确保 /etc/hosts 正确映射主机名,避免启动与管理异常。
  • 防火墙与端口
    • 放行管理端口(默认 7001)及业务端口,或临时关闭防火墙用于排障(生产慎用)。
      • firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload
  • 资源基线
    • 至少 4GB 内存(生产建议 8GB+),可用磁盘 10GB+,保证安装、日志与缓存空间。

二 安装与域创建

  • 安装方式
    • 图形界面:在具备桌面环境的服务器上执行安装 JAR。
    • 控制台模式:无图形界面时使用 java -jar <安装包> -mode=console。
    • 静默模式:使用响应文件与清单文件进行无人值守安装。
      • java -jar fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
  • 域创建
    • 使用 $WL_HOME/common/bin/config.sh 创建域,或通过 WLST 脚本化创建,便于标准化与复用。
      • cd $WL_HOME/common/bin && ./config.sh
      • 或:$WL_HOME/oracle_common/common/bin/wlst.sh(进入交互式脚本界面创建域、监听、数据源等)
  • 目录与变量
    • 规范目录:软件安装目录(如 /app/weblogic/oracle_home)、域目录(如 /app/weblogic/user_projects/domains/base_domain)。
    • 环境变量建议:设置 JAVA_HOME、WL_HOME、PATH,确保命令行与脚本可直接调用 WebLogic 工具。

三 应用部署与验证

  • 部署方式
    • 控制台部署:登录 http://:7001/console,在“部署”中上传 WAR/EAR 并选择目标服务器/集群,完成安装与启动。
    • 自动部署:将 WAR 放入域的 autodeploy 目录,WebLogic 会自动部署与回滚,适合开发/测试。
    • 命令行工具:使用 weblogic.DeployerWLST 进行批量、自动化与可重复部署。
      • java weblogic.Deployer -username weblogic -password **** -deploy /path/app.war -targets myserver
  • 启动与验证
    • 启动管理服务器:
      • $DOMAIN_HOME/bin/startWebLogic.sh(建议使用后台方式或系统服务管理)
    • 访问验证:
      • 管理控制台:http://:7001/console
      • 应用访问:http://:7001/
    • 日志排查:
      • 管理服务器日志:$DOMAIN_HOME/logs/AdminServer.log
      • 部署与诊断日志:$DOMAIN_HOME/servers//logs

四 安全加固与运维要点

  • 运行与权限
    • 全程使用 weblogic 用户运行,目录与文件权限最小化;禁止以 root 直接启动域。
  • 端口与防火墙
    • 仅开放必要端口(如 7001/HTTPS 443),变更通过变更单与防火墙策略同步。
  • 加密与凭据
    • 在域目录配置 boot.properties 存放管理员凭据,避免明文口令出现在命令行历史或脚本中。
  • SSL/TLS
    • 为管理通道与对外接口启用 HTTPS/TLS,使用有效证书,限制弱加密套件与协议。
  • 系统与内核
    • 关闭不必要的服务与端口,按需放行;保持 /etc/hosts 与主机名解析正确,减少因解析异常导致的管理问题。
  • 监控与日志
    • 启用 WebLogic 诊断框架与服务器日志轮转,结合操作系统监控(CPU/内存/IO/连接数)建立基线告警。

五 性能调优与常见问题

  • JVM 与内存
    • setDomainEnv.sh 中设置堆大小(如 -Xms/-Xmx),结合物理内存与应用负载合理分配,避免频繁 GC 或 OOM。
  • 连接池与数据库
    • 在数据源中配置合理的 初始/最大连接数、超时、验证查询,并监控连接泄漏与等待线程。
  • 线程与队列
    • 结合并发量调整 执行线程数队列,避免请求排队过长或线程耗尽。
  • 常见问题速查
    • 内存/CPU 占用高:优化 JVM 参数 与代码,减少对象生命周期与大对象驻留。
    • 数据库连接异常:核对 JDBC URL/驱动/账号权限,检查连接池配置与数据库健康。
    • 访问慢:启用 缓存、静态资源分离、SQL 优化与服务器调优(GC、线程、连接池)。

0