RHEL 8下创建Apache Tomcat服务的Systemd脚本如何编写?
RHEL 8及以上版本Tomcat Systemd服务配置脚本
前置准备
首先确认以下信息,后续要填入服务配置中:
- Java安装路径(可通过
alternatives --list | grep java或者echo $JAVA_HOME查询,示例为/usr/lib/jvm/jre-11-openjdk) - Tomcat解压后的根目录(示例为
/opt/apache-tomcat-9.0.65,以下简称CATALINA_HOME) - 运行Tomcat的专属用户(推荐单独创建tomcat用户运行,不要直接用root)
服务配置脚本内容
创建文件/etc/systemd/system/tomcat.service,内容如下:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/jre-11-openjdk Environment=CATALINA_PID=/opt/apache-tomcat-9.0.65/temp/tomcat.pid Environment=CATALINA_HOME=/opt/apache-tomcat-9.0.65 Environment=CATALINA_BASE=/opt/apache-tomcat-9.0.65 Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/apache-tomcat-9.0.65/bin/startup.sh ExecStop=/opt/apache-tomcat-9.0.65/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
注:配置中CATALINA_OPTS的堆内存参数可根据服务器实际资源情况调整
配置生效与使用说明
- 替换配置内的JAVA_HOME、CATALINA_HOME相关路径为你实际的路径,User和Group替换为你实际运行Tomcat的用户和用户组
- 给Tomcat目录授予对应运行用户的权限:
chown -R tomcat:tomcat /opt/apache-tomcat-9.0.65 - 重载systemd配置使服务生效:
systemctl daemon-reload - 启动Tomcat服务:
systemctl start tomcat - 设置服务开机自启:
systemctl enable tomcat - 查看服务运行状态:
systemctl status tomcat - 重启服务:
systemctl restart tomcat - 停止服务:
systemctl stop tomcat
内容的提问来源于stack exchange,提问作者Avik
相关产品推荐
相关产品推荐

