欢迎光临海门区白事服务网
详情描述

一、Linux系统(Systemd方式)

1. 创建服务文件

sudo vim /etc/systemd/system/tomcat.service

2. 编辑服务配置

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

# 根据实际路径修改以下配置
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
Environment='JAVA_OPTS=-Djava.awt.headless=true'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

3. 设置权限并启用

# 重新加载systemd配置
sudo systemctl daemon-reload

# 设置开机启动
sudo systemctl enable tomcat

# 启动服务
sudo systemctl start tomcat

# 查看状态
sudo systemctl status tomcat

二、Linux系统(SysVinit方式)

1. 创建启动脚本

sudo vim /etc/init.d/tomcat

2. 脚本内容

#!/bin/bash
### BEGIN INIT INFO
# Provides:        tomcat
# Required-Start:  $network
# Required-Stop:   $network
# Default-Start:   2 3 4 5
# Default-Stop:    0 1 6
# Short-Description: Start/Stop Tomcat server
### END INIT INFO

TOMCAT_USER=tomcat
CATALINA_HOME=/opt/tomcat

start() {
    echo "Starting Tomcat..."
    su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh"
}

stop() {
    echo "Stopping Tomcat..."
    su - $TOMCAT_USER -c "$CATALINA_HOME/bin/shutdown.sh"
}

case $1 in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 5
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit 0

3. 设置权限并启用

# 添加执行权限
sudo chmod +x /etc/init.d/tomcat

# 添加到开机启动(Ubuntu/Debian)
sudo update-rc.d tomcat defaults

# 添加到开机启动(CentOS/RHEL)
sudo chkconfig --add tomcat
sudo chkconfig tomcat on

三、Windows系统

方法1:使用Tomcat自带服务安装

# 进入Tomcat的bin目录
cd C:\apache-tomcat\bin

# 安装服务(以管理员身份运行cmd)
service.bat install

# 卸载服务
service.bat remove

方法2:手动创建Windows服务

# 使用sc命令创建服务
sc create Tomcat9 binPath= "\"C:\apache-tomcat\bin\tomcat9.exe\" //RS//Tomcat9" DisplayName= "Apache Tomcat 9" start= auto

# 设置服务描述
sc description Tomcat9 "Apache Tomcat 9 Servlet Container"

四、Tomcat启动参数优化

1. 修改catalina.sh/catalina.bat

# Linux: catalina.sh
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:MaxMetaspaceSize=512m"

# Windows: catalina.bat
set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx2048m -XX:MaxMetaspaceSize=512m"

2. 设置setenv.sh/setenv.bat(推荐)

# Linux: setenv.sh
export CATALINA_OPTS="-Xms1024m -Xmx2048m -XX:+UseG1GC"
export JAVA_OPTS="-Dfile.encoding=UTF-8"

# Windows: setenv.bat
set CATALINA_OPTS=-Xms1024m -Xmx2048m -XX:+UseG1GC
set JAVA_OPTS=-Dfile.encoding=UTF-8

五、验证自启动设置

1. 重启系统测试

# Linux
sudo reboot

# 重启后检查服务状态
systemctl status tomcat
ps -ef | grep tomcat

2. 检查日志

# 查看启动日志
tail -f /opt/tomcat/logs/catalina.out

# 查看systemd日志
journalctl -u tomcat -f

六、常见问题解决

1. 权限问题

# 创建专用用户
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

# 设置目录权限
sudo chown -R tomcat: /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh

2. 端口占用

# 检查端口占用
netstat -tlnp | grep :8080

# 修改Tomcat端口
# 编辑 server.xml
vi /opt/tomcat/conf/server.xml
# 修改 Connector port="8080"

3. 内存不足

# 调整JVM内存参数
CATALINA_OPTS="-Xms512m -Xmx2048m -XX:MaxMetaspaceSize=256m"

七、最佳实践建议

使用专用用户:为Tomcat创建非root用户运行 日志分离:配置日志轮转,避免日志文件过大 监控配置:设置服务监控和告警 安全加固:定期更新Tomcat版本,配置安全策略 备份配置:备份server.xml等配置文件

选择适合你操作系统和环境的方法进行配置即可。

相关帖子
在异地成功办理结婚登记后,相关的婚姻信息是否会同步回户籍地系统?
在异地成功办理结婚登记后,相关的婚姻信息是否会同步回户籍地系统?
从现代食品科学角度看,“嫦娥奔月”与中秋节月饼的传说关联是如何形成的?
从现代食品科学角度看,“嫦娥奔月”与中秋节月饼的传说关联是如何形成的?
远程办公与7小时工作制结合,是否代表了未来主流办公模式的发展方向?
远程办公与7小时工作制结合,是否代表了未来主流办公模式的发展方向?
在竞争激烈的环境下,如何看待“失败”这个普遍存在却又难以言说的经历?
在竞争激烈的环境下,如何看待“失败”这个普遍存在却又难以言说的经历?
如果每天运动两小时,应该如何合理分配不同运动类型的训练时长?
如果每天运动两小时,应该如何合理分配不同运动类型的训练时长?
小区房子抵押贷款对借款人纳税有什么条件?纳税记录与审批关系
小区房子抵押贷款对借款人纳税有什么条件?纳税记录与审批关系
全球范围内,哪些绿色产品认证体系是互相认可或等效的?
全球范围内,哪些绿色产品认证体系是互相认可或等效的?
深度解析小额借贷专业知识,明确授信逻辑、资金用途与风控标准
深度解析小额借贷专业知识,明确授信逻辑、资金用途与风控标准
二次抵押车辆使用、出租规则,掌握贷后管理知识避免出现违约
二次抵押车辆使用、出租规则,掌握贷后管理知识避免出现违约
公司经营贷款变更还款卡,银行卡更换办理流程
公司经营贷款变更还款卡,银行卡更换办理流程
办理押车贷款流程风险,借款人失踪了车辆会被如何处理?
办理押车贷款流程风险,借款人失踪了车辆会被如何处理?
笔记本电脑的USB-C接口给手机充电,速度和安全性上是否会有折衷?
笔记本电脑的USB-C接口给手机充电,速度和安全性上是否会有折衷?
如果无法提供结婚证,单亲妈妈如何证明与孩子的亲子关系以办理医保?
如果无法提供结婚证,单亲妈妈如何证明与孩子的亲子关系以办理医保?
从提交材料到放款到账:房子抵押贷款全流程时间轴与每个环节提速技巧
从提交材料到放款到账:房子抵押贷款全流程时间轴与每个环节提速技巧
办理房产过户时,如何核实房产是否存在查封等权利限制情况?
办理房产过户时,如何核实房产是否存在查封等权利限制情况?
申请汽车抵押贷款条件,提供虚假收入证明被发现的后果分析
申请汽车抵押贷款条件,提供虚假收入证明被发现的后果分析
申请押证不押车贷款流程,如何计算每月的还款金额?
申请押证不押车贷款流程,如何计算每月的还款金额?
二押解押后车辆交易过户流程,理清权属知识顺利完成车辆流转
二押解押后车辆交易过户流程,理清权属知识顺利完成车辆流转
线上平台与数字经济为偏远地区人口带来了哪些新型灵活就业可能?
线上平台与数字经济为偏远地区人口带来了哪些新型灵活就业可能?
修复不良信用记录有哪些常见的误区需要避免,所谓的“信用洗白”可信吗?
修复不良信用记录有哪些常见的误区需要避免,所谓的“信用洗白”可信吗?