Ubuntu22.04 UEFI系统配置Apache Tomcat/8.5.87为开机自动启动

前置条件,Java与Tomcat目录均为/usr/local路径下。

java安装目录为:/usr/local/java

tomcat安装目录为:/usr/local/tomcat

1. 创建 Tomcat 专用用户和组(可选但推荐)

bash 复制代码
# 创建 tomcat 用户组
sudo groupadd tomcat

# 创建 tomcat 用户,并指定主目录为 Tomcat 安装路径
sudo useradd -s /bin/false -g tomcat -d /usr/local/tomcat/apache-tomcat-8.5.87 tomcat

# 授权 Tomcat 目录给 tomcat 用户
sudo chown -R tomcat:tomcat /usr/local/tomcat/apache-tomcat-8.5.87
sudo chmod -R u+x /usr/local/tomcat/apache-tomcat-8.5.87/bin

2. 创建 systemd 服务文件

bash 复制代码
# 创建服务文件
sudo nano /etc/systemd/system/tomcat.service

将以下内容粘贴到文件中(已根据你的路径配置):

ini 复制代码
[Unit]
Description=Apache Tomcat 8.5.87
After=network.target

[Service]
Type=forking

# 环境变量(直接使用你的 JDK 和 Tomcat 路径)
Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_361"
Environment="CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.87"
Environment="CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.87"
Environment="CATALINA_PID=/usr/local/tomcat/apache-tomcat-8.5.87/temp/tomcat.pid"

# 启动和停止命令
ExecStart=/usr/local/tomcat/apache-tomcat-8.5.87/bin/startup.sh
ExecStop=/usr/local/tomcat/apache-tomcat-8.5.87/bin/shutdown.sh

# 使用专用用户和组
User=tomcat
Group=tomcat

# 失败时自动重启
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

3. 启用服务并启动 Tomcat

bash 复制代码
# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 设置开机自启动
sudo systemctl enable tomcat

# 立即启动 Tomcat
sudo systemctl start tomcat

4. 验证配置

bash 复制代码
# 检查服务状态(确认状态为 active (running))
sudo systemctl status tomcat

# 确认开机启动已启用(输出应为 enabled)
sudo systemctl is-enabled tomcat

# 测试 Tomcat 是否响应(默认端口 8080)
curl http://localhost:8080

5. 常见问题处理

问题1:Tomcat 启动失败
bash 复制代码
# 查看详细日志
journalctl -u tomcat --no-pager

# 检查日志中是否有以下错误:
# - JAVA_HOME 路径是否正确(/usr/local/java/jdk1.8.0_361)
# - CATALINA_HOME 路径是否正确(/usr/local/tomcat/apache-tomcat-8.5.87)
问题2:PID 文件未生成
bash 复制代码
# 检查 Tomcat 的 temp 目录是否存在
ls /usr/local/tomcat/apache-tomcat-8.5.87/temp

# 如果不存在,手动创建并授权
sudo mkdir -p /usr/local/tomcat/apache-tomcat-8.5.87/temp
sudo chown tomcat:tomcat /usr/local/tomcat/apache-tomcat-8.5.87/temp
问题3:权限不足
bash 复制代码
# 确保所有 Tomcat 文件属于 tomcat 用户
sudo chown -R tomcat:tomcat /usr/local/tomcat/apache-tomcat-8.5.87

最终验证

bash 复制代码
# 重启系统,检查 Tomcat 是否自动启动
sudo reboot

# 重启后检查服务状态
sudo systemctl status tomcat

按以上步骤操作后,Tomcat 将在系统启动时自动运行,且所有路径均已适配你的实际安装目录。

相关推荐
不才不才不不才5 分钟前
Spring AI 实战:聊天、提示词、记忆三件套
java·人工智能·spring·ai
一 乐2 小时前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家政服务管理系统
碳基硅坊3 小时前
Spring AI:把大模型接进 Spring 应用
java·人工智能·spring ai
黄毛火烧雪下3 小时前
Java 核心知识点总结(一)
java·开发语言
技术小结-李爽3 小时前
【工具】Maven的下载、安装、使用
java·maven
极创信息3 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
努力成为AK大王4 小时前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
云烟成雨TD4 小时前
Agent Scope Java 2.x 系列【10】技能(Skill)
java·人工智能·agent
摇滚侠4 小时前
SpringMVC 入门到实战 DispatcherServlet 源码解读 92-95
java·后端·spring·maven·intellij-idea
键盘歌唱家4 小时前
Spring AI 入门分享:它和“直接调 API“到底差在哪
java·人工智能·spring