以下是一个简单的示例,演示如何在CentOS 7中将Tomcat注册为系统服务:
1.编辑catalina.sh文件:
- 进入Tomcat的安装目录,例如cd /opt/tomcat。
- 进入bin目录。
- 使用文本编辑器打开catalina.sh文件,例如通过命令vim catalina.sh。
- 在文件中添加或修改CATALINA_PID环境变量,以确保它指向正确的PID文件位置。通常,您可以在第139行附近找到这个变量,或者搜索关键词来定位。例如,添加内容如下:
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
CATALINA_PID="$CATALINA_BASE/temp/catalina.pid"
- 保存并关闭catalina.sh文件。
1.创建systemd服务文件: - 创建一个新的systemd服务文件,以便系统可以管理Tomcat服务。使用命令vim /lib/systemd/system/tomcat.service来创建和编辑文件。
- 在文件中添加以下内容:
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/tomcat/tomcat.pid
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
- 保存并关闭文件。
1.启用并启动服务:
- 使用命令systemctl enable tomcat来启用服务,使其在系统启动时自动运行。
- 使用命令systemctl start tomcat来启动服务。
- 使用命令systemctl status tomcat来检查服务的状态。
请注意,上述步骤中的文件路径和命令可能需要根据您的具体环境和Tomcat版本进行调整。务必根据实际情况进行修改。如果您不熟悉systemd服务文件的编写,建议查阅相关文档或示例,以确保正确配置服务。
还需要再tomcat的启动文件catalina.sh中配置JRE_HOME和JAVA_HOME环境变量,使用下述脚本即可。
[root@mysql ~]#cat /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target redis.target mysqld.target
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/data/apache-tomcat-9.0.78/bin/startup.sh
ExecStop=/data/apache-tomcat-9.0.78/bin/shutdown.sh
Type=forking
User=root
Group=root
[Install]
WantedBy=multi-user.target