温馨提示×

centos下weblogic如何排错

小樊
61
2026-09-30 12:48:35
栏目: 智能运维

在 CentOS 下排查 WebLogic 问题,一般可以按「启动 → 日志 → 应用 → 系统资源 → 配置」这条主线来排错。下面给你一套实用排错思路和常用命令。


一、先确认 WebLogic 是否能启动

1. 查看进程

ps -ef | grep weblogic

或

ps -ef | grep java

没有进程,说明:

  • 没启动
  • 启动失败
  • 被 kill

2. 手动启动看报错

cd /u01/oracle/middleware/user_projects/domains/base_domain/bin
./startWebLogic.sh

⚠️ 不要直接后台启动,先前台跑,能看到最直接错误。


二、重点看日志(最关键)

1. WebLogic 核心日志

$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log

如果是被管节点:

$DOMAIN_HOME/servers/Server1/logs/Server1.log

2. 标准输出日志

$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out

常见错误:

  • OutOfMemoryError
  • ClassNotFoundException
  • Port already in use
  • Permission denied

三、端口与网络问题

1. 查看端口占用

netstat -tunlp | grep 7001

或

ss -tunlp | grep 7001

端口被占用:

  • 改端口
  • 杀掉占用进程

2. 防火墙(CentOS 常见坑)

systemctl status firewalld

开放端口:

firewall-cmd --add-port=7001/tcp --permanent
firewall-cmd --reload

外网访问不了,90% 是防火墙。


四、权限问题(CentOS 特有)

1. 不能用 root 跑 WebLogic(强烈建议)

id weblogic

启动用户不对:

chown -R weblogic:weblogic /u01/oracle

2. 文件权限错误

常见报错:

  • Permission denied
  • Cannot create file

检查:

ls -l $DOMAIN_HOME

五、JVM 与内存问题

1. 查看 JVM 参数

cat $DOMAIN_HOME/bin/setDomainEnv.sh

关注:

-Xms
-Xmx
-XX:MaxPermSize / MetaspaceSize

2. OOM 排查

grep -i "outofmemory" AdminServer.log

建议:

  • 堆内存 ≥ 2G(生产)
  • 加 GC 日志:
-XX:+PrintGCDetails -Xloggc:/tmp/gc.log

六、应用部署问题

1. 部署失败

看:

AdminServer.log

常见原因:

  • WAR/EAR 包损坏
  • JDK 版本不匹配
  • 依赖缺失

2. 类冲突

ClassCastException
NoSuchMethodError

解决:

  • 检查 WEB-INF/lib
  • 避免重复 jar

七、Console 无法访问

检查:

  1. 端口是否监听
  2. 防火墙
  3. config.xml 中 ListenAddress
<listen-address></listen-address>

留空 = 所有网卡


八、系统资源排查

CPU

top

内存

free -m

磁盘

df -h

磁盘满 → WebLogic 直接挂


九、推荐排错顺序(实战)

  1. ps 看进程
  2. 前台 startWebLogic.sh
  3. 看 .out 和 .log
  4. 查端口 / 防火墙
  5. 查权限 / 磁盘 / 内存
  6. 最后看应用本身

如果你愿意,可以告诉我:

  • WebLogic 版本
  • CentOS 版本
  • 具体报错日志

我可以直接帮你定位问题。

0 踩