在 CentOS 下部署 WebLogic 通常包括:环境准备 → 安装 WebLogic 软件 → 创建域(Domain) → 启动服务 → 部署应用。由于 CentOS 服务器通常没有图形界面(GUI),下面以命令行静默安装和控制台部署为例,提供一份完整的实操指南。
WebLogic 是基于 Java 的应用服务器,必须依赖 JDK(推荐 Oracle JDK 或 OpenJDK 8/11,视 WebLogic 版本而定,本文以 JDK 8 为例)。
# CentOS 可以使用 yum 快速安装 OpenJDK(如果是生产环境,建议去 Oracle 官网下载 JDK 并配置 JAVA_HOME)
yum install -y java-1.8.0-openjdk-devel
# 验证安装
java -version
强烈建议不要使用 root 用户运行 WebLogic。创建一个专用用户:
groupadd weblogic
useradd -g weblogic -m -d /home/weblogic weblogic
passwd weblogic # 设置密码
WebLogic 默认管理端口为 7001,如需外部访问需开放防火墙:
# 开放 7001 端口(CentOS 7+ 使用 firewalld)
firewall-cmd --zone=public --add-port=7001/tcp --permanent
firewall-cmd --reload
# 临时关闭 SELinux(避免权限拦截,生产环境请配置正确策略)
setenforce 0
这里以 WebLogic 12c/14c 通用的 fmw_xxx_wls_lite_generic.jar 安装包为例。
切换到 weblogic 用户并上传安装包
将下载好的 jar 包上传至 /home/weblogic/install/ 目录。
创建响应文件 wls.rsp
在 /home/weblogic/install/ 下创建文件:
[ENGINE]
Response File Version=1.0.1
[GENERIC]
ORACLE_HOME=/home/weblogic/Oracle/Middleware
INSTALL_TYPE=WebLogic Server
DECLINE_AUTO_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLE_SUPPORT=false
创建库存文件 oraInst.loc
inventory_loc=/home/weblogic/oraInventory
inst_group=weblogic
执行静默安装
su - weblogic
cd /home/weblogic/install
java -jar fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile /home/weblogic/install/wls.rsp -invPtrLoc /home/weblogic/install/oraInst.loc
看到 The installation of WebLogic Server ... is complete 即表示安装成功。
WebLogic 安装完后只是有了软件,必须创建一个“域(Domain)”才能运行项目。以下是使用 WLST 脚本静默建域 的方法。
编写建域脚本 create_domain.py
# 指定 WebLogic 模板
readTemplate('/home/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
# 配置管理服务器 (AdminServer)
cd('Servers/AdminServer')
set('ListenAddress', '') # 监听所有 IP
set('ListenPort', 7001)
# 配置管理员账号密码
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setName('weblogic')
cmo.setPassword('WebLogic123') # 密码需复杂性要求(字母+数字,至少8位)
# 写入域目录
setOption('OverwriteDomain', 'true')
writeDomain('/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
closeTemplate()
exit()
执行脚本建域
cd /home/weblogic/Oracle/Middleware/wlserver/common/bin
./wlst.sh /home/weblogic/install/create_domain.py
配置后台启动免交互(重要) 创建密码文件,避免每次启动都要输用户名密码:
mkdir -p /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/security
cat > /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties << EOF
username=weblogic
password=WebLogic123
EOF
cd /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin
nohup ./startWebLogic.sh > server.log 2>&1 &
等一分钟左右,浏览器访问:http://服务器IP:7001/console。能出现登录界面说明启动成功。
http://IP:7001/console,使用 weblogic / WebLogic123 登录。.war 包上传到服务器。如果域是“开发模式”,直接将 xxx.war 丢进域的 autodeploy 目录即可自动解压部署:
cp your_app.war /home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/autodeploy/
配置开机自启(Systemd)
在 /etc/systemd/system/ 下创建 weblogic.service:
[Unit]
Description=WebLogic Server
After=network.target
[Service]
Type=simple
User=weblogic
Group=weblogic
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk"
ExecStart=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
ExecStop=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/stopWebLogic.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
执行:systemctl daemon-reload && systemctl enable weblogic
修改 JVM 内存
如果应用较大,需修改域的 bin/setDomainEnv.sh,调整 WLS_MEM_ARGS_64BIT 参数(如 -Xms1024m -Xmx2048m)。
区分开发/生产模式 生产环境请在控制台将域模式切换为 生产模式(Production Mode),以提高安全性。