我想为我的 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 管理的服务一样。我很好奇您是否找到了解决方案,我的朋友给出了这个答案,他是珀斯的网站设计师他问我这是否有用,我完全不知道