环境要求
基础依赖安装
mkdir -p /usr/java
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/java
chown -R weblogic:weblogic /usr/java # 若使用weblogic用户
配置环境变量(/etc/profile):echo "export JAVA_HOME=/usr/java/jdk1.8.0_221" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
source /etc/profile
java -version # 验证安装
groupadd weblogic
useradd -g weblogic -d /home/weblogic -m weblogic
passwd weblogic # 设置密码
下载并安装WebLogic
fmw_14.1.1.0.0_wls_lite_generic.jar)。su - weblogic
mkdir -p /opt/weblogic
chmod +x /path/to/fmw_14.1.1.0.0_wls_lite_generic.jar
java -jar /path/to/fmw_14.1.1.0.0_wls_lite_generic.jar -silent -responseFile /opt/weblogic/wls.rsp -invPtrLoc /opt/weblogic/oraInst.loc
其中wls.rsp需包含安装路径(ORACLE_HOME=/opt/weblogic/oracle/middleware)、安装类型(WebLogic Server)等参数。进入域创建目录
切换至weblogic用户,进入WebLogic安装目录下的域模板目录:
su - weblogic
cd /opt/weblogic/oracle/middleware/wlserver/common/bin
使用WLST创建域
执行wlst.sh脚本,通过命令行创建域(包含管理服务器和集群配置):
./wlst.sh
在WLST控制台中输入以下命令(替换为实际路径和参数):
readTemplate('/opt/weblogic/oracle/middleware/wlserver/common/templates/wls/wls.jar')
cd('/Servers/AdminServer')
set('ListenAddress', '') # 空表示监听所有IP
set('ListenPort', 7001)
cd('/')
create('my_cluster', 'Cluster') # 创建集群,名称为my_cluster
cd('/Security/base_domain/User/weblogic')
cmo.setPassword('weblogic1234') # 设置管理员密码
set('OverwriteDomain', 'true')
writeDomain('/opt/weblogic/user_projects/domains/my_domain') # 域目录
closeTemplate()
exit()
此命令会创建名为my_domain的域,包含管理服务器AdminServer和集群my_cluster。
启动管理服务器
进入域的bin目录,启动管理服务器:
cd /opt/weblogic/user_projects/domains/my_domain/bin
./startWebLogic.sh
访问管理控制台(http://<管理服务器IP>:7001/console),使用管理员账号(weblogic/weblogic1234)登录。
添加受管服务器到集群
managed1、managed2),设置监听地址(节点IP)和端口(如7003、7004)。my_cluster集群中。配置集群通信
unicast(默认),集群消息协议为TCP。cluster-messaging-port(默认7002)未被占用,且防火墙放行该端口。生成boot.properties文件
为避免每次启动服务器都输入密码,在每个节点的security目录下创建boot.properties:
mkdir -p /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security
echo "username=weblogic" > /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security/boot.properties
echo "password=weblogic1234" >> /opt/weblogic/user_projects/domains/my_domain/servers/managed1/security/boot.properties
chmod 600 /opt/weblogic/user_projects/domains/my_domain/servers/*/security/boot.properties # 设置权限
创建受管服务器启动脚本
在域的bin目录下,为每个受管服务器创建启动脚本(如startManaged1.sh):
echo '#!/bin/bash' > /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
echo 'nohup ./startManagedWebLogic.sh managed1 http://<管理服务器IP>:7001 > /opt/weblogic/user_projects/domains/my_domain/servers/managed1/logs/managed1.out 2>&1 &' >> /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
chmod +x /opt/weblogic/user_projects/domains/my_domain/bin/startManaged1.sh
启动管理服务器
cd /opt/weblogic/user_projects/domains/my_domain/bin
./startWebLogic.sh
启动受管服务器
在每个节点上执行对应的启动脚本(如startManaged1.sh),或在管理控制台通过域结构→环境→服务器→启动启动受管服务器。
验证集群状态
登录管理控制台,导航至域结构→集群→my_cluster→监控→服务器,检查所有服务器(管理服务器+受管服务器)的状态是否为“运行中”。
部署应用测试负载均衡
将应用(如WAR包)部署到集群(而非单个服务器),通过管理控制台域结构→部署→安装完成部署。访问应用时,通过管理服务器IP(如http://<管理服务器IP>:7001/app),观察请求是否分发到多个受管服务器。
测试故障转移
手动停止某个受管服务器(如managed1),访问应用时检查是否自动切换到其他正常运行的受管服务器(如managed2),确保会话未丢失(需配置会话持久化,如内存复制)。
-Xms512m -Xmx1024m),避免内存溢出。<distributable/>标签。