在 CentOS 下启动 WebLogic 的可行方法
一 前置检查
- 确认已安装并配置 JDK 8(或 WebLogic 版本要求的 JDK),执行:java -version;确保 JAVA_HOME 已设置并生效。
- 建议使用非 root 运行,创建专用用户与目录:
groupadd weblogic;useradd -g weblogic weblogic;chown -R weblogic:weblogic /opt/weblogic。
- 确认已创建 域(Domain),并知悉 AdminServer 监听端口(默认 7001)。
- 如启用防火墙,放行对应端口:firewall-cmd --zone=public --add-port=7001/tcp --permanent && firewall-cmd --reload。
二 启动方式
-
前台启动(便于观察日志)
- 切换到域目录:cd /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin
- 执行:./startWebLogic.sh(按提示输入管理员账号与密码)
-
后台启动(nohup)
- 在域的 bin 目录执行:nohup ./startWebLogic.sh &
- 输出日志默认写入当前目录的 nohup.out,可用 tail -f nohup.out 查看。
三 以 Systemd 服务方式管理(推荐用于生产)
-
新建服务文件:vi /etc/systemd/system/weblogic.service,示例:
[Unit]
Description=WebLogic Server
After=network.target
[Service]
Type=simple
User=weblogic
Group=weblogic
WorkingDirectory=/opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain
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
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
-
启用与启动:
systemctl daemon-reload
systemctl enable weblogic.service
systemctl start weblogic.service
systemctl status weblogic.service(查看运行状态)
四 验证与常见问题
- 验证访问:浏览器打开 http://<服务器IP>:7001/console,使用配置的管理员账号登录。
- 启动缓慢(熵源问题):编辑域目录 bin/setDomainEnv.sh,在文件末尾加入:
JAVA_OPTIONS=“${JAVA_OPTIONS} -Djava.security.egd=file:/dev/./urandom”
保存后重启。
- 常用停止方式:
- 正常停止:cd /opt/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin;./stopWebLogic.sh
- 强制终止:ps -ef | grep weblogic | awk ‘{print $2}’ | xargs kill -9(仅在无法正常停止时使用)