WebLogic的日志是排查启动问题的核心依据,关键日志路径为:${DOMAIN_HOME}/servers/${SERVER_NAME}/logs/server.log(如/u01/domains/mydomain/servers/AdminServer/logs/server.log)。通过tail -f server.log实时查看启动过程中的错误信息(如java.lang.OutOfMemoryError、Port already in use等),可快速定位问题根源。
WebLogic对Java版本有严格要求(如WebLogic 12c需Java 8+,14c需Java 11+),需通过java -version确认Java是否安装且版本匹配。若版本不符,需从Oracle官网下载对应版本的JDK并配置环境变量:
JAVA_HOME(如export JAVA_HOME=/usr/java/jdk1.8.0_391);$JAVA_HOME/bin加入PATH(如export PATH=$JAVA_HOME/bin:$PATH);java -version输出是否符合要求。WebLogic默认使用**7001(管理服务器)、7002(受控服务器)**等端口,若这些端口被其他进程占用,会导致启动失败。通过以下命令检查端口占用情况:
sudo netstat -tulnp | grep <端口号> # 如sudo netstat -tulnp | grep 7001
若端口被占用,可选择:
kill -9 <PID>);${DOMAIN_HOME}/config/config.xml中的<port>标签)。WebLogic的配置文件(如config.xml、boot.properties)错误会导致启动失败:
内存不足是WebLogic启动失败的常见原因,需修改启动脚本(${DOMAIN_HOME}/bin/setDomainEnv.sh)中的JVM参数:
# 示例:设置初始堆内存256MB,最大堆内存1024MB
JAVA_OPTIONS="$JAVA_OPTIONS -Xms256m -Xmx1024m"
根据服务器内存大小调整(如16GB内存可设置为-Xms2048m -Xmx4096m),避免设置过大导致内存溢出。
WebLogic目录需有正确的读写权限,否则会报INST-07006(无读写权限)等错误。需将域目录的所有权赋予运行WebLogic的用户(如weblogic):
sudo chown -R weblogic:weblogic /u01/domains/mydomain # 替换为实际域路径
sudo chmod -R 775 /u01/domains/mydomain
若以root用户启动,需切换至普通用户(如su - weblogic)再运行启动脚本。
域目录下的锁定文件(如edit.lok、config.lok、AdminServer.lok)会导致启动阻塞,需删除这些文件(路径为${DOMAIN_HOME}/servers/AdminServer/tmp、${DOMAIN_HOME}/config):
rm -f /u01/domains/mydomain/servers/AdminServer/tmp/*.lok
rm -f /u01/domains/mydomain/config/*.lok
删除后重启WebLogic即可。
SELinux的安全策略可能阻止WebLogic绑定端口或访问文件,可通过以下命令临时禁用(测试用):
sudo setenforce 0 # 临时切换至宽容模式
若需永久禁用,编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统。
通过ulimit -a查看系统资源限制(如文件描述符数量、进程数),若限制过低(如open files为1024),需修改/etc/security/limits.conf文件,添加以下内容(以weblogic用户为例):
weblogic soft nofile 65536
weblogic hard nofile 65536
weblogic soft nproc 4096
weblogic hard nproc 4096
修改后需重新登录用户生效。