1. 检查日志文件(首要步骤)
日志是故障排查的核心依据,WebLogic的日志文件集中存储在$DOMAIN_HOME/servers/<server_name>/logs目录下,其中server.log(主日志)、AdminServer.out(管理服务器输出)、<server_name>.out(对应服务器实例输出)是重点关注对象。使用grep命令可快速定位错误关键字(如ERROR、Exception),例如:grep -i "error" server.log,能快速获取故障根源(如端口冲突、配置错误、类加载失败等)。
2. 验证Java环境(基础依赖)
WebLogic依赖JDK运行,需确保:
JAVA_HOME需指向JDK安装目录(如/usr/java/jdk1.8.0_391),且PATH中包含$JAVA_HOME/bin;java -version命令验证是否能正确输出版本信息。若版本不符或环境变量错误,需调整setDomainEnv.sh(域环境脚本)中的JAVA_HOME设置。3. 排查端口冲突(常见启动问题)
WebLogic默认使用7001(管理端口)、7002(HTTPS端口)等,若这些端口被其他进程(如Apache、Tomcat)占用,会导致启动失败。使用以下命令检查端口占用:
netstat -tulnp | grep <端口号> # 查看端口占用进程 lsof -i:<端口号> # 更详细显示进程信息(如PID、名称) 若存在冲突,可选择:① 修改WebLogic端口(编辑config/config.xml中的<listen-port>标签);② 终止占用进程(kill -9 <PID>)。
4. 检查配置文件正确性(逻辑错误根源)
关键配置文件(如config.xml、domain.xml、startup.properties)的错误(如XML标签未闭合、路径错误、参数配置不当)会导致启动失败。重点检查:
config.xml中的<domain>、<server>、<data-source>等核心标签是否完整;startup.properties中的启动类路径是否正确;jdbc-url、username、password)是否有效。修改配置文件后,需重启WebLogic使变更生效。5. 监控系统资源(资源瓶颈排查)
系统资源不足(如内存、CPU、磁盘空间)会导致WebLogic运行缓慢或崩溃,使用以下命令监控:
free -m(查看可用内存)、top(按M排序内存占用);top(按P排序CPU占用)、vmstat 1 5(查看CPU使用率、上下文切换次数);df -h(查看磁盘使用率,重点关注/根分区)。startWebLogic.sh中的JVM参数(如-Xms512m -Xmx2048m);若磁盘空间不足,需清理日志或临时文件。6. 分析线程与内存转储(复杂问题诊断)
jstack <PID>命令生成线程转储(<PID>为WebLogic进程ID),分析是否存在线程死锁(如deadlock关键字)、线程阻塞(如长时间等待数据库连接);jmap -dump:format=b,file=heap.hprof <PID>生成堆转储,通过MAT(Eclipse Memory Analyzer)工具分析内存泄漏(如大量未释放的对象);-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log参数,分析垃圾回收情况(如频繁Full GC可能导致性能下降)。7. 检查权限与锁文件(文件系统问题)
weblogic)对$DOMAIN_HOME及其子目录有读写权限(chown -R weblogic:weblogic $DOMAIN_HOME);edit.lok、config.lok、AdminServer.lok)。8. 使用WLST与管理控制台(动态监控)
connect('weblogic', '密码', 't3://localhost:7001') serverRuntime() exit() 可获取服务器运行时的线程、内存、JDBC连接池等信息;http://<服务器IP>:7001/console(默认端口7001),查看服务器状态(如“运行中”“已停止”)、应用部署情况(如是否激活)、数据源连接状态(如是否可用)。9. 重启与重部署(临时问题解决)
./stopWebLogic.sh(停止)、./startWebLogic.sh(启动);