在 CentOS 下排查 WebLogic 问题,一般遵循“看日志 → 看进程/端口 → 看配置 → 看资源 → 看应用”的思路。下面按常见场景给你一个实用排错指南。
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
$DOMAIN_HOME/servers/<ServerName>/logs/<ServerName>.log
常用查看方式:
tail -f AdminServer.log
grep -i error AdminServer.log
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.out
启动失败、JVM 崩溃、ClassNotFound 基本都在这里。
$WL_HOME/common/nodemanager/nodemanager.log
ps -ef | grep weblogic
或
jps -l | grep weblogic
netstat -tunlp | grep 7001
常见端口:
cd $DOMAIN_HOME/bin
./startWebLogic.sh
后台启动:
nohup ./startWebLogic.sh > start.log 2>&1 &
说明端口被占用
netstat -tunlp | grep 7001
解决:
config.xml 中监听端口查看 AdminServer.out
java.lang.OutOfMemoryError: Java heap space
解决:
修改 setDomainEnv.sh
-Xms1024m -Xmx2048m
WEB-INF/libCLASSPATHUser locked due to invalid login attempts
解决:
cd $DOMAIN_HOME/bin
./resetPassword.sh
或修改 config.xml 中用户状态。
systemctl status firewalld
firewall-cmd --list-ports
firewall-cmd --add-port=7001/tcp --permanent
firewall-cmd --reload
getenforce
jstack <pid> > thread.txt
看线程状态:
jmap -heap <pid>
jmap -dump:live,format=b,file=heap.hprof <pid>
用 MAT / JProfiler 分析。
cd $DOMAIN_HOME/bin
./wlst.sh
WLST 示例:
connect('weblogic','password','t3://localhost:7001')
state('AdminServer')
如果你愿意,可以告诉我:
我可以直接帮你“对症排错”。