1. 收集故障基础信息
首先明确故障现象(如无法启动、响应慢、报错提示)、发生时间、是否有近期变更(如升级、配置修改、新增应用),这些信息能快速缩小排查范围。
2. 查看日志文件定位具体错误
日志是故障排查的核心依据,需检查以下关键日志:
$DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log(默认名称),记录域的整体运行状态(如服务器启动/关闭、全局配置错误);$DOMAIN_HOME/servers/your_server_name/logs/your_server_name.log,记录单个服务器实例的详细运行信息(如应用部署错误、线程死锁);$DOMAIN_HOME/servers/your_server_name/logs/access.log,记录客户端HTTP请求及响应状态(如404、500错误)。tail -f实时查看最新日志,grep "error"或grep "exception"过滤错误关键字,快速定位问题根源。3. 检查系统资源使用情况
使用top、free -m、df -h命令分别检查CPU、内存、磁盘空间使用情况:
OutOfMemoryError,需调整JVM堆内存参数(-Xms、-Xmx);4. 验证配置文件正确性
重点检查以下配置文件:
$DOMAIN_HOME/config目录,是域的核心配置文件(如服务器监听端口、集群配置、数据源设置),使用weblogicctl configtest命令验证语法正确性;startWebLogic.sh,检查JAVA_HOME、WL_HOME等环境变量是否指向正确路径,内存参数(-Xms、-Xmx)是否符合服务器配置;web.xml、weblogic.xml,确保应用配置(如Servlet映射、安全角色)与服务器环境兼容。5. 排查端口冲突
WebLogic默认使用7001(HTTP)、7002(HTTPS)等端口,使用netstat -tuln或ss -tuln命令检查端口占用情况:
netstat -tuln | grep ':7001'
若端口被占用,需修改WebLogic配置文件中的端口(如config.xml中的<listen-port>),或停止占用端口的应用程序。
6. 检查权限与环境变量
weblogic)对$DOMAIN_HOME、$MW_HOME等目录有读写权限,避免因权限不足导致启动失败(如无法创建临时文件);JAVA_HOME(如/usr/java/jdk1.8.0_291)、WL_HOME(如/home/weblogic/Oracle/Middleware)已正确设置,且PATH中包含$JAVA_HOME/bin。7. 处理锁定文件
WebLogic运行时会产生锁定文件(如edit.lok、config.lok、AdminServer.lok),若进程异常终止,这些文件可能残留,导致下次启动失败。进入$DOMAIN_HOME/servers/AdminServer/tmp、$DOMAIN_HOME/servers/AdminServer/config目录,删除相关锁定文件后重启服务器。
8. 使用诊断工具深入分析
connect('weblogic', 'password', 't3://localhost:7001')
serverRuntime()
ServerDebug选项(在config.xml中设置<server-debug>标签),收集更详细的调试信息(如JDBC调用、EJB执行);VisualVM、JConsole监控JVM内存、线程状态,或使用Prometheus+Grafana实现实时性能监控。9. 解决常见问题
bea-000386(网络配置错误),需检查config.xml中的网络地址配置;若显示OutOfMemoryError,需增加JVM堆内存(如-Xms2048m -Xmx2048m);netstat -tuln),防火墙是否允许该端口(iptables -L),应用是否已成功部署(console中查看部署状态);top查看CPU占用高的进程,vmstat 1查看系统负载,调整线程池大小(console→Servers→Configuration→Threads)。