一、基础环境检查
java -version
命令检查Java版本,若未安装或版本不符,从Oracle官网下载对应JDK并配置JAVA_HOME
环境变量(指向JDK安装目录),将其加入PATH
中。weblogic
)对域目录(DOMAIN_HOME
)、日志目录(logs
)、临时目录(tmp
)等有读写权限。若权限不足,使用chown -R weblogic:weblogic /path/to/domain
修改所有权,chmod -R 775 /path/to/domain
设置合理权限。二、日志分析与关键错误定位
DOMAIN_HOME/servers/AdminServer/logs/
(AdminServer日志)和DOMAIN_HOME/servers/your_server_name/logs/
(子服务器日志),核心日志文件为server.log
。tail -f /path/to/domain/logs/server.log
实时监控日志输出,快速捕捉启动或运行时的错误信息(如OutOfMemoryError
、ClassNotFoundException
、PortAlreadyInUse
等)。/etc/hosts
文件确保主机名与IP映射正确。boot.properties
文件中的用户名/密码是否正确,若密码修改后需重新生成加密文件。三、配置文件校验
DOMAIN_HOME/config/config.xml
(域配置)、DOMAIN_HOME/config/boot.properties
(启动认证)、DOMAIN_HOME/servers/AdminServer/config/admin.conf
(AdminServer配置)等文件的语法正确性。可使用xmllint --noout /path/to/config.xml
验证XML格式是否合法。config.xml
中的监听端口(如7001、7002)未被其他应用占用。使用netstat -tulnp | grep <端口号>
或ss -tulnp | grep <端口号>
检查端口占用情况,若冲突可修改config.xml
中的端口或终止占用进程。四、系统资源监控
top
、htop
或free -h
命令查看WebLogic进程的内存(RES
列)、CPU(%CPU
列)使用情况。若内存占用过高,需调整JVM堆大小(见“JVM内存配置”);若CPU占用100%,可能因线程死锁或应用性能问题,需进一步分析线程堆栈(见“线程分析”)。df -h
检查磁盘剩余空间,确保logs
、tmp
等目录所在分区有足够空间(建议保留20%以上),避免因磁盘满导致WebLogic无法启动或运行异常。五、端口与网络连通性
netstat -tulnp | grep <端口号>
或ss -tulnp | grep <端口号>
检查WebLogic所需端口(如7001、7002)是否被其他进程占用。若冲突,修改config.xml
中的端口或使用kill -9 <PID>
终止占用进程。ping <目标主机>
测试与客户端的连通性,telnet <主机> <端口>
测试端口是否可达。若无法连通,检查防火墙设置(iptables -L -n
)或SELinux状态(getenforce
),确保放行WebLogic端口。六、JVM内存配置
DOMAIN_HOME/bin/startWebLogic.sh
(Linux)或startWebLogic.cmd
(Windows)中的JVM内存参数,根据服务器内存大小合理设置:
-Xms
:初始堆大小(如-Xms1024m
);-Xmx
:最大堆大小(如-Xmx2048m
);-XX:MaxPermSize
(Java 7及之前):永久代大小(如-XX:MaxPermSize=512m
);-XX:+UseG1GC
)提升GC效率。OutOfMemoryError
,使用jmap -histo:live <PID>
查看堆内存中的对象分布,jvisualvm
或MAT
(Memory Analyzer Tool)分析内存泄漏点(如未关闭的数据库连接、缓存未清理等)。七、线程与死锁分析
jstack <PID> > thread_dump.log
获取WebLogic进程的线程堆栈信息,分析线程状态(如RUNNABLE
、BLOCKED
)。thread_dump.log
中搜索“deadlock”关键词,若存在死锁,需修改应用代码(如避免嵌套锁、使用tryLock
替代synchronized
)或调整线程池大小(config.xml
中的<thread-pool>
配置)。八、权限与锁定文件处理
DOMAIN_HOME
);logs
);tmp
);cache
)。edit.lok
(编辑锁定文件);config.lok
(配置锁定文件);AdminServer.lok
(AdminServer锁定文件);EmbeddedLDAP.ldap.dat
(LDAP数据库文件)。九、应用程序部署检查
http://<主机>:7001/console
)进入“部署”页面,检查应用程序是否处于“已激活”状态。若状态为“失败”,点击“查看日志”获取具体错误信息。十、系统资源限制调整
ulimit -n
查看当前限制,若小于10000,修改/etc/security/limits.conf
文件,添加以下内容:* soft nofile 65535
* hard nofile 65535
重新登录用户使设置生效。ulimit -u
查看进程数限制,若不足,同样在limits.conf
中添加:* soft nproc 65535
* hard nproc 65535
十一、其他常见问题解决
setenforce 0
临时设置为“Permissive”模式,或修改/etc/selinux/config
文件中的SELINUX=permissive
,重启系统生效。