如何将 tomcat 添加到 tomcat.service 以供 systemctl 启动

如何将 tomcat 添加到 tomcat.service 以供 systemctl 启动

我想为我的 tomcat 安装编写一个 systemctl 守护进程,以便我可以使用以下命令启动 tomcat

systemctl start tomcat

现在我正在使用startup.sh脚本启动 Tomcat 服务器。如何通过 systemctl 来管理它?

答案1

在 /etc/systemd/system/ 创建模板服务单元文件[电子邮件保护]

[Unit]
Description=Tomcat - instance %i
After=syslog.target network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

WorkingDirectory=/var/tomcat/%i

Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_PID=/var/tomcat/%i/run/tomcat.pid"
Environment="CATALINA_BASE=/var/tomcat/%i/"
Environment="CATALINA_HOME=/opt/tomcat/"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

#RestartSec=10
#Restart=always

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl enable [email protected]
systemctl start [email protected]

答案2

要使用 systemctl 启动 Tomcat 安装,您需要为 Tomcat 创建一个 systemd 服务单元文件。操作方法如下:

创建 systemd 服务单元文件:

打开终端并导航到 systemd 服务目录: cd /etc/systemd/system 为 Tomcat 创建一个新的服务单元文件。您可以将其命名为 tomcat.service: sudo nano tomcat.service 将以下内容添加到 tomcat.service 文件:

Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

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

[Install]
WantedBy=multi-user.target

根据您的 Tomcat 安装目录调整环境变量和路径 (CATALINA_PID、CATALINA_HOME、CATALINA_BASE)。

重新加载 systemd 管理器配置:

创建服务单元文件后,您需要重新加载 systemd 管理器配置以使 systemd 知道新服务: sudo systemctl daemon-reload

启用服务:

使 Tomcat 服务在系统启动时自动启动: sudo systemctl enable tomcat

启动服务:

您现在可以使用 systemctl 启动 Tomcat 服务: sudo systemctl start tomcat

检查状态:

您可以检查 Tomcat 服务的状态以确保它正在运行: sudo systemctl status tomcat

通过这些步骤,您应该能够使用 systemctl 启动 Tomcat 安装,就像任何其他 systemd 管理的服务一样。我很好奇您是否找到了解决方案,我的朋友给出了这个答案,他是珀斯的网站设计师他问我这是否有用,我完全不知道

相关内容