CentOS环境下WebLogic集群负载均衡配置指南
JAVA_HOME环境变量并验证java -version输出正确。ping命令测试)。ntpdate命令或 chrony 服务),避免会话同步或集群通信因时间偏差失败。7001、T3协议端口7002、HTTP监听端口8001等),执行firewall-cmd --add-port=7001/tcp --permanent并firewall-cmd --reload。setenforce 0)或配置相应策略允许WebLogic通信。wls1411_generic.jar),使用java -jar wls1411-generic.jar启动图形化安装向导,选择“自定义安装”并完成基础组件安装(如WebLogic Server、Coherence等)。common/bin文件夹,执行./config.sh启动配置向导。base_domain)和管理员账号(如weblogic/Welcome1)。user_projects/domains/base_domain目录生成域配置文件。http://管理服务器IP:7001/console),导航至环境→集群。myCluster),选择集群模式(受管服务器集群),点击“下一步”。managed1、managed2)。managed1_ip)和端口(如8001),点击“下一步”并完成创建。connect('weblogic', 'Welcome1', 't3://管理服务器IP:7001')
edit()
startEdit()
cd('/Clusters/myCluster')
cmo.setLoadBalancingEnabled(true)
cmo.setLoadBalancingAlgorithm('RoundRobin') # 可替换为LeastConnections/Random
save()
activate()
disconnect()
为确保用户会话在服务器故障时不丢失,需配置会话复制或外部持久化存储:
myClusterReplicationGroup),设置复制类型为“内存到内存”(适用于小规模集群)或“数据库持久化”(适用于大规模集群)。SessionDB),指向共享数据库(如MySQL、Oracle)。为隐藏WebLogic集群内部结构、提高安全性及扩展性,建议使用Nginx或HAProxy作为反向代理:
sudo yum install epel-release && sudo yum install nginx。/etc/nginx/nginx.conf),添加以下内容:http {
upstream weblogic_cluster {
server managed1_ip:8001;
server managed2_ip:8001;
# 添加更多受管服务器
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://weblogic_cluster;
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 systemctl restart nginx。sudo yum install haproxy。/etc/haproxy/haproxy.cfg),添加以下内容:global
log /dev/log local0
log /dev/log local1 notice
maxconn 4096
defaults
log global
mode http
option httplog
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server managed1 managed1_ip:8001 check
server managed2 managed2_ip:8001 check
sudo systemctl restart haproxy。http://yourdomain.com),通过多次刷新页面或使用ab(Apache Benchmark)工具测试,观察请求是否分发到不同受管服务器(可通过WebLogic日志中的Server字段确认)。setDomainEnv.sh)需保持一致,避免兼容性问题。7002),配置Nginx HTTPS(如使用Let’s Encrypt证书),限制反向代理与WebLogic集群间的通信权限(如仅允许内网IP访问)。