下面给你一个WebLogic 在 CentOS 上搭建集群(Cluster)的实战型说明,适合生产环境理解,不只是一堆概念。
WebLogic 集群 ≠ 多台机器启动多个 Server
而是:
核心组件:
| 角色 | 作用 |
|---|---|
| Admin Server | 管理域、配置、监控 |
| Managed Server | 真正运行业务 |
| Cluster | 逻辑分组,提供负载均衡、Failover |
| Node Manager | 远程启停 Managed Server |
# 关闭防火墙(测试环境)
systemctl stop firewalld
systemctl disable firewalld
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
WebLogic 12c 推荐 JDK 8
tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/local/
配置环境变量:
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_361
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
mkdir -p /u01/weblogic
cd /u01/weblogic
java -jar fmw_12.2.1.4.0_wls.jar
安装目录示例:
/u01/weblogic/Oracle/Middleware
cd /u01/weblogic/Oracle/Middleware/oracle_common/common/bin
./wlst.sh
示例脚本(简化版):
readTemplate('/u01/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort',7001)
cd('/')
create('Cluster1','Cluster')
cd('/')
create('MS1','Server')
create('MS2','Server')
cd('Server/MS1')
set('ListenPort',7002)
set('Cluster','Cluster1')
cd('Server/MS2')
set('ListenPort',7003)
set('Cluster','Cluster1')
writeDomain('/u01/weblogic/domains/base_domain')
closeTemplate()
exit()
cd /u01/weblogic/domains/base_domain/bin
./startWebLogic.sh
访问:
http://IP:7001/console
cd /u01/weblogic/domains/base_domain/bin
./startNodeManager.sh &
配置:
vi /u01/weblogic/domains/base_domain/nodemanager/nodemanager.properties
ListenAddress=0.0.0.0
ListenPort=5556
SecureListener=false
| 主机 | 角色 |
|---|---|
| server1 | Admin Server |
| server1 | Managed Server 1 |
| server2 | Managed Server 2 |
Nginx 示例:
upstream weblogic_cluster {
server 192.168.1.10:7002;
server 192.168.1.11:7002;
}
server {
listen 80;
location / {
proxy_pass http://weblogic_cluster;
}
}
netstat -tunlp | grep 7001
WebLogic 集群 = 一个 Domain + 多个 Managed Server + Cluster + Node Manager + 负载均衡
如果你愿意,我可以:
直接告诉我你现在用的是 WebLogic 几?单机还是多机?