linux 设置tomcat开机启动

在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为 tomcat.service 的 systemd 服务文件,并将其放置在 /etc/systemd/system/ 目录下。以下是一个基本的服务文件示例,假设Tomcat安装在 /usr/local/tomcat 路径下:

1 创建服务文件:

复制代码
sudo nano /etc/systemd/system/tomcat.service

添加以下内容到文件中:

复制代码
[Unit]
Description=tomcat-server
After=network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/local/jdk1.8.0_181"

ExecStart=/bin/bash /usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/solr/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID

User=root
Group=root

[Install]
WantedBy=multi-user.target

确保 JAVA_HOME、CATALINA_HOME、CATALINA_BASE 等环境变量设置正确,并且 ExecStart 指向正确的Tomcat启动脚本路径。

2 重新加载systemd管理器配置:

复制代码
sudo systemctl daemon-reload

3 启用Tomcat服务:

复制代码
sudo systemctl enable tomcat.service

4(可选)立即启动Tomcat服务:

复制代码
sudo systemctl start tomcat.service

5(可选)检查Tomcat服务状态:

复制代码
sudo systemctl status tomcat.service

这样配置后,无论系统重启还是启动,Tomcat都将作为服务自动启动。

6 tomcat指定jdk,

复制代码
vi /usr/local/tomcat/bin/catalina.sh

在文件头部增加如下配置

复制代码
JAVA_OPTS="-Xms512m -Xmx2048m -Djava.security.egd=file:/dev/./urandom"

export JAVA_HOME=/usr/local/jdk1.8.0_181
export JRE_HOME=/usr/local/jdk1.8.0_181/jre

6 配置tomcat日志

Tomcat 配置日志保留期限

server.xml

打开conf/server.xml,找到下面代码,添加属性maxDays="30"。

复制代码
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" maxDays="30"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

logging.properties

打开conf/logging.properties, 添加下列行。

复制代码
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 30
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 30
3manager.org.apache.juli.AsyncFileHandler.maxDays = 30
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 30
相关推荐
Fleshy数模22 分钟前
MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践
linux·mysql
神梦流1 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年1 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
.小墨迹2 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield2 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑2 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道2 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家2 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker