1. 日志分析与定位
WebLogic的日志是故障排查的核心线索来源,需优先检查以下日志文件:
$DOMAIN_HOME/logs/server.log,记录服务器启动、运行及错误详情(如配置错误、端口冲突、应用部署失败等);$DOMAIN_HOME/logs/access.log,记录客户端请求与响应信息,有助于判断问题是否与请求参数、权限或接口逻辑相关;journalctl -u weblogic(Systemd服务)或/var/log/syslog查看系统级错误(如资源不足、内核问题)。tail -f命令实时监控日志动态,快速捕捉故障发生时的异常信息。2. 进程与服务状态核查
ps aux | grep weblogic或systemctl status weblogic(若使用Systemd)查看服务是否处于“active (running)”状态;若进程不存在,尝试手动启动($DOMAIN_HOME/bin/startWebLogic.sh)并观察启动日志。3. 配置文件正确性验证
$DOMAIN_HOME/config/config.xml(域配置)、$DOMAIN_HOME/config/domain.xml(域设置),确认以下内容无语法错误或配置冲突:
JAVA_HOME(指向有效的JDK路径,如/usr/lib/jvm/java-11-openjdk-amd64)、DOMAIN_HOME(域目录路径)等环境变量已在~/.bashrc或/etc/profile中正确配置,并通过echo $JAVA_HOME验证。4. 端口冲突排查
WebLogic依赖多个端口(如管理端口7001、HTTP监听端口7002),端口被占用会导致启动失败。使用以下命令检查端口占用情况:
netstat -tulnp | grep <端口号>(如netstat -tulnp | grep 7001);lsof -i:<端口号>(如lsof -i:7001)。config.xml中的<listen-port>);kill -9 <PID>)。5. 系统资源使用分析
资源不足(内存、CPU、磁盘空间)会导致WebLogic运行缓慢或崩溃,需通过以下命令监控:
free -h(查看可用内存)、top(按内存排序进程);top(按CPU排序进程)、mpstat -P ALL 1(查看各核心CPU利用率);df -h(查看磁盘使用率,重点关注/根分区及$DOMAIN_HOME所在分区)。startWebLogic.sh中的-Xms、-Xmx,如-Xms2g -Xmx4g);6. 应用部署与运行问题排查
$DOMAIN_HOME/servers/AdminServer/logs/deployments.log(部署日志),常见原因包括应用包损坏、依赖缺失、web.xml配置错误;尝试重新部署(通过管理控制台或$DOMAIN_HOME/bin/deploy.sh脚本)。$DOMAIN_HOME/servers/AdminServer/tmp/_WL_user/<应用名>/<随机目录>/logs/),定位代码错误(如空指针、SQL异常);使用jstack <PID>抓取线程转储,分析死锁或长时间阻塞的线程。7. 权限与依赖库检查
weblogic)对$DOMAIN_HOME及其子目录有读写权限(chown -R weblogic:weblogic $DOMAIN_HOME)。$DOMAIN_HOME/lib目录下包含所有必要的库文件(如JDBC驱动、第三方依赖);若应用依赖外部库,需将其放入$DOMAIN_HOME/lib或应用APP-INF/lib目录。8. 使用诊断与管理工具
http://<服务器IP>:7001/console,登录后检查服务器状态、集群健康度、部署应用列表、数据源配置等,快速定位配置或运行问题。startWebLogic.sh中添加-Dcom.sun.management.jmxremote参数),使用JConsole或VisualVM监控JVM内存、线程、GC情况。jstack <PID>抓取线程转储(分析死锁)、jmap -heap <PID>查看堆内存分配(排查内存泄漏)、jhat分析堆转储文件(定位内存问题)。9. 更新与补丁管理
sudo apt update && sudo apt upgrade更新Debian系统,修复内核或依赖库的已知bug。10. 社区与官方支持
若上述步骤无法解决问题,可参考以下资源: