下面以 Debian / Debian 系(如 Ubuntu) 为例,系统说明 WebLogic 的部署流程。以 Oracle WebLogic Server 14c / 12c 为主(最常见)。
WebLogic 需要 JDK(不能用纯 JRE)
sudo apt update
sudo apt install openjdk-17-jdk -y
# 或 JDK 8(12c 推荐)
# sudo apt install openjdk-8-jdk -y
查看 Java:
java -version
设置环境变量(建议):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
从 Oracle 官网下载:
fmw_14.1.1.0.0_wls_lite_generic.jar(Generic 版,支持 Linux)上传到 Debian:
/opt/weblogic/
sudo useradd -m weblogic
sudo passwd weblogic
创建响应文件 wls.rsp:
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/opt/weblogic/Oracle/Middleware
INSTALL_TYPE=WebLogic Server
创建 oraInst.loc:
inventory_loc=/opt/weblogic/oraInventory
inst_group=weblogic
执行安装:
java -jar fmw_14.1.1.0.0_wls_lite_generic.jar \
-silent -responseFile /opt/weblogic/wls.rsp \
-invPtrLoc /opt/weblogic/oraInst.loc
cd /opt/weblogic/Oracle/Middleware/wlserver/common/bin
./wlst.sh
在 WLST 中执行:
readTemplate('/opt/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
set('ListenPort', 7001)
set('ListenAddress', '0.0.0.0')
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('WebLogic123')
setOption('OverwriteDomain', true)
writeDomain('/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain')
closeTemplate()
exit()
cd /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin
./startWebLogic.sh
后台运行:
nohup ./startWebLogic.sh > admin.log 2>&1 &
访问:
http://服务器IP:7001/console
cp app.war /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/autodeploy/
WebLogic 会自动部署。
connect('weblogic','WebLogic123','t3://localhost:7001')
deploy('myapp','/path/app.war',targets='AdminServer')
exit()
vi $JAVA_HOME/jre/lib/security/java.security
修改:
securerandom.source=file:/dev/urandom
sudo ufw allow 7001
[Unit]
Description=WebLogic Server
After=network.target
[Service]
Type=simple
User=weblogic
ExecStart=/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/startWebLogic.sh
ExecStop=/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/stopWebLogic.sh
[Install]
WantedBy=multi-user.target
如果你告诉我:
我可以给你 更精确的部署方案。