在 CentOS 下迁移 WebLogic,通常分为 同机迁移、跨服务器迁移 或 版本升级迁移。下面给你一套通用、实战型迁移方案,从准备到验证,适用于大多数生产环境。
在源服务器和目标服务器上确认:
# 操作系统
cat /etc/centos-release
# WebLogic 版本
$WL_HOME/server/bin/setWLSEnv.sh
# 或
java weblogic.version
# JDK 版本
java -version
✅ 建议:CentOS、WebLogic、JDK 版本尽量一致
# 停止所有 Server
$DOMAIN_HOME/bin/stopWebLogic.sh
$DOMAIN_HOME/bin/stopNodeManager.sh
适用于:
假设:
/u01/weblogic/u01/weblogic/user_projects/domains/base_domaincd /u01
tar -czvf weblogic_migration.tar.gz weblogic
scp weblogic_migration.tar.gz root@目标服务器IP:/u01/
cd /u01
tar -zxvf weblogic_migration.tar.gz
检查以下文件:
vi $DOMAIN_HOME/config/config.xml
重点检查:
<listen-address><admin-server-name>vi /etc/hosts
确保:
127.0.0.1 localhost
新IP 新主机名
chown -R weblogic:weblogic /u01/weblogic
chmod -R 755 /u01/weblogic
tar -czvf jdk.tar.gz /usr/java/jdk1.8.0_202
scp jdk.tar.gz root@目标服务器:/usr/java/
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
cd $DOMAIN_HOME/bin
./startWebLogic.sh
或后台启动:
nohup ./startWebLogic.sh > admin.log 2>&1 &
$WL_HOME/common/nodemanager/nodemanager.properties
重点:
ListenAddress=新IP
./startNodeManager.sh
Cannot connect to AdminServer
✅ 解决:
config.xml/etc/hostsnetstat -tunlp | grep 7001
systemctl stop firewalld
systemctl disable firewalld
或放行端口:
firewall-cmd --add-port=7001/tcp --permanent
firewall-cmd --reload
| 方式 | 适用场景 |
|---|---|
| pack / unpack | 官方推荐、跨环境 |
| 重新建域 + 部署应用 | 升级、重构 |
| 克隆虚拟机 | 云环境 |
# 源服务器
$WL_HOME/common/bin/pack.sh \
-domain=$DOMAIN_HOME \
-template=domain.jar \
-template_name=base_domain
# 目标服务器
$WL_HOME/common/bin/unpack.sh \
-domain=$DOMAIN_HOME \
-template=domain.jar
如果你愿意,可以告诉我:
我可以给你 定制迁移方案 + 命令清单。