将tomcat注册为系统服务

将tomcat注册为系统服务

Systemctl status tomcat.service
Systemctl start tomcat.service
Systemctl stop tomcat.service

步骤一:
修改脚本 /usr/local/apache-tomcat-8.5.37/bin/catalina.sh

vi catalina.sh

 117 JAVA_HOME=/usr/local/jdk1.8.0_144    
 118 JRE_HOME=$JAVA_HOME/jre

步骤二

centos 7中采用了systemd控制系统服务,更加简单,以前启动服务需要 service xxxx start|stop等。现在需要的是systemctl start|stop xxx。比如我配置的启动tomcat,systemctl start tomcat。十分方便。以前是在,现在直接在/usr/lib/systemd/system里面新建一个tomcat.service,内容如下:

 vi/usr/lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=oneshot
ExecStart=/usr/local/apache-tomcat-8.5.37/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-8.5.37/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

步骤三
编写完上面的脚本,需要重新加载systemctl 服务

systemctl daemon-reload

设置分为三个部分

  • [Unit]: unit 本身的说明,以及与其他相依 daemon 的设置,包括在什么服务之后才启动此 unit 之类的设置值;
  • [Service], [Socket], [Timer], [Mount], [Path]…:不同的 unit type 就得要使用相对应的设置项目。我们拿的是 sshd.service 来当范本,所以这边就使用 [Service] 来设置。 这个项目内主要在规范服务启动的脚本、环境配置文件文件名、重新启动的方式等等。
  • [Install]:这个项目就是将此 unit 安装到哪个 target 里面去的意思! 至于配置文件内有些设置规则还是得要说明一下:

1.设置项目通常是可以重复的,例如我可以重复设置两个 After 在配置文件中,不过,后面的设置会取代前面的喔!因此,如果你想要将设置值归零, 可以使用类似“ After=”的设置,亦即该项目的等号后面什么都没有,就将该设置归零了 (reset)。
2.如果设置参数需要有“是/否”的项目 (布林值,
boolean),你可以使用 1, yes, true, on 代表启动,用 0, no, false, off 代表关闭!随你喜好选择啰!

3.空白行、开头为 # 或 ; 的那一行,都代表注解!

posted @ 2022-02-19 17:06  SimoonJia  阅读(105)  评论(0编辑  收藏  举报