日志是排查WebLogic问题的核心依据,Ubuntu下WebLogic日志主要位于$DOMAIN_HOME/servers/your_server_name/logs目录($DOMAIN_HOME为域主目录,可通过echo $DOMAIN_HOME确认)。关键日志文件包括:
tail -f server.log:实时跟踪最新日志;grep '关键字' server.log:筛选特定错误(如“Port already in use”“ClassNotFoundException”);less server.log:查看完整日志并支持翻页。WebLogic默认使用以下端口(可根据配置调整):
netstat -tulnp | grep <端口号>(如netstat -tulnp | grep 7001)查看端口占用情况;$DOMAIN_HOME/config/config.xml,找到<server>标签下的listen-port属性,修改为未被占用的端口(如7003);ps -ef | grep <端口号>找到占用进程的PID,执行kill -9 <PID>终止进程。WebLogic依赖JDK运行,需确保以下两点:
JAVA_HOME指向正确JDK目录(如/usr/lib/jvm/java-8-oracle),可通过java -version和echo $JAVA_HOME验证;$DOMAIN_HOME/bin/startWebLogic.sh脚本,确保JAVA_HOME路径正确(如export JAVA_HOME=/usr/lib/jvm/java-8-oracle)。内存不足是WebLogic启动失败的常见原因,需调整JVM堆内存参数:
$DOMAIN_HOME/bin/startWebLogic.sh脚本,找到JAVA_OPTIONS变量;export JAVA_OPTIONS="-Xms1024m -Xmx2048m -XX:MaxPermSize=512m"
-Xms:初始堆内存(如1024m);-Xmx:最大堆内存(如2048m);-XX:MaxPermSize:永久代内存(仅Java 7及以下版本需要,Java 8及以上可忽略)。WebLogic核心配置文件位于$DOMAIN_HOME/config目录,常见错误包括:
<server>标签的name、listen-port是否正确;数据源配置(<data-source>)的jdbc-url、username、password是否有效;监听器配置(<listener>)是否完整;cp config.xml config.xml.bak)。运行WebLogic的用户需对$DOMAIN_HOME及其子目录有读写权限:
chown -R <用户名>:<用户组> $DOMAIN_HOME修改目录所有者(如chown -R weblogic:weblogic /u01/domains/base_domain);chmod -R 755 $DOMAIN_HOME添加读写执行权限(避免权限过严导致无法访问文件)。Ubuntu默认资源限制(如文件描述符数量)可能过低,导致WebLogic无法启动:
ulimit -a查看当前限制(重点关注open files,即文件描述符数量);/etc/security/limits.conf文件,添加以下内容(以root用户为例):* soft nofile 65535
* hard nofile 65535
soft:软限制(当前生效的最大值);hard:硬限制(系统允许的最大值)。ulimit -n 65535。*.lok(锁文件)和*.DAT(数据文件),如:rm /u01/domains/base_domain/servers/AdminServer/tmp/AdminServer.lok
rm /u01/domains/base_domain/servers/AdminServer/data/store/diagnostics/WLS_DIAGNOSTICS000000.DAT
sudo ufw allow 7001/tcp);ping <服务器IP>和traceroute <服务器IP>)。WebLogic依赖的外部系统(如数据库、Redis、消息队列)异常会导致应用故障:
systemctl status mysql检查MySQL状态);/var/log/mysql/error.log),定位潜在问题。cp -r $DOMAIN_HOME $DOMAIN_HOME.bak)。