升级DSpace 7.6后Tomcat出现404错误,请求排查方案
DSpace 7.6升级后localhost:8080/server 404错误排查方案
一、检查Web应用部署文件完整性
- 确认
/dspace/webapps/server目录存在,且包含完整的WAR解压文件(如WEB-INF、META-INF等核心文件夹) - 验证
/var/lib/tomcat9/webapps/server目录权限:执行ls -ld /var/lib/tomcat9/webapps/server,确保Tomcat运行用户(通常为tomcat)拥有读权限 - 若Tomcat
webapps目录下存在server.war,需确认启动时Tomcat已自动解压;手动解压的话要检查解压过程无报错
二、查看Tomcat与DSpace日志定位错误
- 实时监控Tomcat主日志:
tail -f /var/log/tomcat9/catalina.out,搜索server相关的异常,比如类加载失败、依赖缺失、配置文件解析错误 - 检查DSpace核心日志:查看
/dspace/logs/dspace.log和/dspace/logs/solr.log,确认启动时数据库连接、Solr通信是否正常 - 查看Tomcat本地日志:
tail -f /var/log/tomcat9/localhost.log,寻找与/server路径相关的部署失败记录
三、验证Tomcat应用部署状态
- 若启用Tomcat管理控制台,访问
localhost:8080/manager/html,查看server应用状态是否为running - 未启用控制台的话,执行Tomcat状态命令:
/usr/share/tomcat9/bin/catalina.sh list(路径根据实际安装调整),确认server应用已注册并启动
四、核对local.cfg配置一致性
- 确认
local.cfg中dspace.dir路径与实际DSpace部署目录完全一致,无拼写错误 - 检查
solr.server配置是否指向正确的Solr实例(如http://localhost:8983/solr),确保Solr服务正常运行 - 验证数据库连接:执行
psql -U <数据库用户名> -d <数据库名>,确认连接正常,且database migrate已完成所有表结构更新
五、重新部署Web应用
- 停止Tomcat:
systemctl stop tomcat9.service - 删除Tomcat
webapps下的server目录和server.war(若存在) - 重新复制部署文件:
cp -r /dspace/webapps/server /var/lib/tomcat9/webapps/ - 修复权限:
chown -R tomcat:tomcat /var/lib/tomcat9/webapps/server - 启动Tomcat:
systemctl start tomcat9.service,同时实时查看catalina.out日志确认部署过程
六、验证Solr索引与数据库同步
- 执行
./dspace index-discovery -b后,访问http://localhost:8983/solr/search/select?q=*:*,确认Solrsearch核心返回正常数据 - 检查Solr日志
/opt/solr-8.11.2/server/logs/solr.log,确认替换schema.xml后Solr启动无报错
内容的提问来源于stack exchange,提问作者Munira Ayad
相关产品推荐
相关产品推荐

