在Debian系统上实现WebLogic集群负载均衡前,需完成以下基础配置:
sudo apt update && sudo apt install openjdk-11-jdk安装,安装后通过java -version验证是否成功。wls12220-generic.jar),使用java -jar wls12220-generic.jar命令启动图形化安装向导,完成安装。sudo apt install ntp安装NTP服务,配置同步源(如pool.ntp.org)。集群是负载均衡的基础,需通过管理控制台或命令行创建集群并添加成员服务器:
bin目录,执行./startWebLogic.sh启动管理服务器。http://<管理服务器IP>:7001/console,输入管理员账号密码登录。myCluster),选择目标服务器(如AdminServer),配置集群参数(如集群消息传递端口),点击“完成”。common/bin目录,执行./wlst.sh进入WLST命令行界面。connect('weblogic', 'weblogic123', 't3://<管理服务器IP>:7001')(替换为实际账号密码和IP)。myCluster为集群名称,Server1、Server2为托管服务器名称:edit()
startEdit()
cmo.createCluster('myCluster')
cluster = cmo.getCluster('myCluster')
cluster.addTarget(getMBean('/Servers/Server1'))
cluster.addTarget(getMBean('/Servers/Server2'))
save()
activate()
disconnect()
WebLogic支持多种负载均衡算法,可根据业务需求选择:
Server1权重3、Server2权重2),性能强的服务器处理更多请求。若需对EJB、RMI请求进行负载均衡,需额外配置:
为提升可用性和扩展性,建议在前端部署Nginx或HAProxy作为反向代理,将客户端请求分发到WebLogic集群:
sudo apt update && sudo apt install nginx。/etc/nginx/sites-available/default),添加以下内容:http {
upstream weblogic_cluster {
# 轮询(默认)
server <WebLogic_Server1_IP>:7001;
server <WebLogic_Server2_IP>:7001;
# 最少连接(取消注释以下行)
# least_conn;
# 权重(取消注释以下行并设置权重)
# server <WebLogic_Server1_IP>:7001 weight=3;
# server <WebLogic_Server2_IP>:7001 weight=2;
# IP哈希(取消注释以下行,同一IP固定到同一服务器)
# ip_hash;
}
server {
listen 80;
server_name your_domain.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;
}
}
}
sudo systemctl start nginx && sudo systemctl enable nginx。为避免将请求分发到故障服务器,可配置Nginx健康检查:
upstream weblogic_cluster {
server <WebLogic_Server1_IP>:7001 max_fails=3 fail_timeout=30s;
server <WebLogic_Server2_IP>:7001 max_fails=3 fail_timeout=30s;
}
max_fails=3:3次失败后标记为不可用。fail_timeout=30s:30秒后重新尝试。curl命令访问应用(如http://your_domain.com),多次刷新页面,观察请求是否分发到不同WebLogic服务器(可通过服务器日志或应用内的节点标识验证)。