You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Tomcat服务启动失败(权限拒绝)问题修复咨询

Tomcat服务启动失败(权限拒绝)问题修复咨询

从你提供的systemd日志和服务配置文件来看,问题的核心很明确:tomcat用户没有执行/usr/local/tomcat10-server/bin/catalina.sh脚本的权限,导致服务启动时触发了Permission denied错误。下面是一步步的修复方案:

1. 修复脚本的执行权限

首先要确保catalina.sh以及Tomcat bin目录下的所有脚本都具备可执行权限,执行以下命令:

# 给catalina.sh添加执行权限
sudo chmod +x /usr/local/tomcat10-server/bin/catalina.sh
# 一次性给bin目录下所有.sh脚本添加执行权限(推荐)
sudo chmod +x /usr/local/tomcat10-server/bin/*.sh

2. 确保Tomcat目录的所有权正确

Tomcat的整个安装目录应该归tomcat用户和组所有,这样服务进程才能正常读取、写入配置和运行文件。执行递归修改所有权的命令:

sudo chown -R tomcat:tomcat /usr/local/tomcat10-server/

3. 重新加载systemd配置并重启服务

修改权限后,需要让systemd重新读取服务配置,再尝试启动Tomcat:

# 重新加载systemd服务配置
sudo systemctl daemon-reload
# 启动Tomcat服务
sudo systemctl start tomcat.service
# 查看服务状态确认是否恢复正常
sudo systemctl status tomcat.service

额外排查点(如果上述步骤无效)

  • 检查JAVA_HOME路径/usr/lib/jvm/jre-17-openjdk是否存在,且tomcat用户有访问该目录的权限
  • 确认/usr/local/tomcat10-server/temp目录存在且权限正确,tomcat用户需要在这里创建tomcat.pid文件。如果目录不存在,执行:
    sudo mkdir -p /usr/local/tomcat10-server/temp
    sudo chown tomcat:tomcat /usr/local/tomcat10-server/temp
    

备注:内容来源于stack exchange,提问作者Rickson Costa

火山引擎 最新活动