首页主机资讯centos里weblogic如何进行负载均衡

centos里weblogic如何进行负载均衡

时间2025-12-12 16:53:04发布访客分类主机资讯浏览760
导读:在 CentOS 上为 WebLogic 实现负载均衡 架构与准备 组件与拓扑:准备至少 2 台 CentOS 7/8/9 服务器部署 WebLogic 12c/14c,建议至少 1 台管理服务器 + 2 台受管服务器 组成集群;另准备...

在 CentOS 上为 WebLogic 实现负载均衡

架构与准备

  • 组件与拓扑:准备至少 2 台 CentOS 7/8/9 服务器部署 WebLogic 12c/14c,建议至少 1 台管理服务器 + 2 台受管服务器 组成集群;另准备 1 台负载均衡器(Nginx/HAProxy 或硬件 F5/SLB)对外暴露 80/443
  • 基础环境:安装 JDK 8(WebLogic 14 常用),创建 weblogic 用户与目录,配置 /etc/profileJAVA_HOME/PATHsource /etc/profile 生效。
  • 网络与防火墙:开放管理端口(如 7001)、受管服务器端口(如 7002/7003)、负载均衡器端口(80/443),并放通回环与集群节点间通信。
  • 域名与证书:准备对外域名(如 app.example.com),TLS 证书用于 443 端口(可选)。

方式一 外部软件负载均衡 Nginx 或 HAProxy

  • 安装与启用
    • Nginx:sudo yum install -y epel-release & & sudo yum install -y nginx & & sudo systemctl enable --now nginx
    • HAProxy:sudo yum install -y haproxy & & sudo systemctl enable --now haproxy
  • Nginx 示例(HTTP,轮询)
    • 配置 /etc/nginx/nginx.conf/etc/nginx/conf.d/weblogic.conf
      http {
      
        upstream weblogic_servers {
          
          server 10.0.0.11:7002;
          
          server 10.0.0.12:7003;
          
          # 可按需增加权重:server 10.0.0.13:7004 weight=2;
      
        }
      
      
        server {
          
          listen 80;
          
          server_name app.example.com;
      
      
          location / {
          
            proxy_pass http://weblogic_servers;
          
            proxy_set_header Host $host;
          
            proxy_set_header X-Real-IP $remote_addr;
          
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          
            proxy_set_header X-Forwarded-Proto $scheme;
      
          }
      
        }
      
      }
          
      
    • 校验并重载:sudo nginx -t & & sudo systemctl reload nginx
  • HAProxy 示例(HTTP,轮询 + 健康检查)
    • 配置 /etc/haproxy/haproxy.cfg
      global
        log /dev/log local0
        log /dev/log local1 notice
        maxconn 4096
      
      defaults
        log global
        mode http
        option httplog
        option dontlognull
        retries 3
        timeout http-request 10s
        timeout connect 10s
        timeout client  1m
        timeout server  1m
      
      frontend http-in
        bind *:80
        default_backend weblogic_servers
      
      backend weblogic_servers
        balance roundrobin
        server s1 10.0.0.11:7002 check
        server s2 10.0.0.12:7003 check
      
    • 校验并重载:sudo haproxy -c -f /etc/haproxy/haproxy.cfg & & sudo systemctl reload haproxy
  • 说明:Nginx/HAProxy 负责连接转发与会话保持(如基于 cookie/源地址),健康检查自动摘除异常节点。

方式二 WebLogic 集群与会话保持

  • 创建集群与受管服务器
    • 使用 WLST 或管理控制台创建域、集群与受管服务器,示例(WLST 片段):
      readTemplateForUpdate('/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar')
      cd('Servers/AdminServer')
      set('ListenAddress','')
      set('ListenPort', 7001)
      cd('/')
      cd('Security/base_domain/User/weblogic')
      cmo.setPassword('YourStrongPwd!')
      set('OverwriteDomain', 'true')
      writeDomain('/opt/weblogic/oracle/middleware/user_projects/domains/base_domain')
      closeTemplate()
      exit()
      
    • 在管理控制台将受管服务器加入同一 Cluster,分别配置各自的 ListenAddress/ListenPort(如 7002/7003)。
  • 会话保持
    • 应用启用 WebLogic Server Affinity(会话亲和):在应用的 weblogic.xml 中设置 < session-descriptor> < persistent-store-type> replicated< /persistent-store-type> < /session-descriptor> < session-descriptor> < url-rewriting-enabled> true< /url-rewriting-enabled> < /session-descriptor> ,确保同一会话优先落到同一受管服务器。
    • 若使用外部负载均衡器,可开启 源地址哈希基于 cookie 的会话保持 作为补充。
  • 启动顺序:先启动 AdminServer(7001),再启动各 Managed Server(7002/7003),在控制台确认集群成员 Health=OK

验证与常见问题

  • 健康检查与分发验证
    • 访问 http://app.example.com 多次,观察返回内容或后端日志,确认请求在 7002/7003 之间轮询分发。
    • 停止某台受管服务器,验证 Nginx/HAProxy 是否自动摘除并在恢复后重新加入。
  • 会话保持验证
    • 登录应用后获取 JSESSIONID,刷新或新开浏览器标签重复访问,确认会话不丢失(同一实例处理)。
  • 常见问题
    • 应用上下文路径错误:确认负载均衡器转发到受管服务器的正确 Context Root
    • 静态资源 404:若静态资源由 WebLogic 托管,保持路径一致;若由 Nginx 托管,配置静态资源 location 直接服务。
    • 防火墙/SELinux:确保放行 7001/7002/7003/80/443 与回环通信。
    • 日志排查:/var/log/nginx/access.log/var/log/haproxy.log$DOMAIN_HOME/servers/< server> /logs/*.log

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos里weblogic如何进行负载均衡
本文地址: https://pptw.com/jishu/770662.html
centos上weblogic如何管理用户权限 centos里weblogic如何监控

游客 回复需填写必要信息