第一步:修改catalina.sh文件

# vim 编辑 Tomcat bin/catalina.sh 文件。增加如下内容
CATALINA_PID="$CATALINA_BASE/bin/tomcat.pid"

第二步 :创建 tomcat.service 文件

进入 /lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat service
After=syslog.target network.target remote-fs.target nss-lookup.target [Service]
Type=forking Environment="JAVA_HOME=/home/app/jdk1.8.0_171" PIDFile=/home/app/apache-tomcat-8.5.31/bin/tomcat.pid ExecStart=/home/app/apache-tomcat-8.5.31/bin/startup.sh ExecStop=/home/app/apache-tomcat-8.5.31/bin/shutdown.sh ExecReload=/bin/kill -s HUP $MAINPID PrivateTmp=true [Install]
WantedBy=multi-user.target

脚本介绍

Description

服务描述

After

如果该字段指定的 Unit 也要启动,那么必须在当前 Unit 之前启动

Type=forking

后台运行

Environment="JAVA_HOME=/home/app/jdk1.8.0_171"

java安装路径。因为服务启动时,是不会读取全局变量的(/etc/profile),因此全局变量中配置的属性是读取不到的需要注意。

PIDFile=/home/app/apache-tomcat-8.5.31/bin/tomcat.pid

此文件是在第一步时配置的

如果type是后台运行,建议将此属性加上。指定pid。

ExecStart=/home/app/apache-tomcat-8.5.31/bin/startup.sh

启动脚本

ExecReload=/home/app/apache-tomcat-8.5.31/bin/shutdown.sh

重启脚本

ExecStop=/bin/kill -s HUP $MAINPID

停止脚本

PrivateTmp=true

是否使用私有tmp目录

WantedBy=multi-user.target

运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

第三步:保存退出,重新加载systemd

systemctl daemon-reload

重新加载,使 systemd生效

第四步:验证脚本

# 查看服务状态
systemctl status tomcat.service
# 停止服务
systemctl stop tomcat.service
# 启动服务
systemctl start tomcat.service
# 重启服务
systemctl restart tomcat.service

第五步:配置开机自启

#开启开机自启
systemctl enable tomcat.service
#取消开机自启
systemctl disable nginx.service

Centos8 Tomcat 开机自启配置的更多相关文章

  1. 设置防火强开机自启,以及没有成功的tomcat开机自启

    防火墙 如果你的系统上没有安装使用命令安装 #yum install firewalld //安装firewalld 防火墙 开启服务 # systemctl start firewalld.serv ...

  2. Linux配置tomcat开机自启

    转自百度经验:https://jingyan.baidu.com/article/6525d4b1382f0aac7d2e9421.html 端口也需要保持开机自启详细请看:https://www.c ...

  3. centos 7 tomcat 开机自启

    第一章 1.将tomcat加入开启自己,以减少手动启动的麻烦 环境配置需要提前配置好.(我这里已经是不做操作了) 192.168.1.195 jdk1.8 +  tomcat 8 第二章 2.编写to ...

  4. Centos8 Nginx 开机自启配

    第一步:创建 service文件 vim /lib/systemd/system/nginx.service /lib 与 /usr/lib 我这里配置时是一样的,在那个文件夹配置都可以 第二步:编写 ...

  5. 设置tomcat开机自启和后台运行

    前言:程序登录遇到了问题,重启服务器上的tomcat后程序可以正常的使用,是通过进入bin目录,双击startup.bat运行启动的程序,此时会弹出启动窗口,而且该窗口不能关闭,这个窗口是tomcat ...

  6. windows server 2008 R2之tomcat开机自启

    方法一: 写一个批处理文件autostartup.bat用来启动tomcat,内容如下.复制时不要把复制内容也复制进去 set CATALINA_HOME=C:\apache-tomcat-8.5.3 ...

  7. centOS学习part7:Oracle开机自启配置

    0 上一章(http://www.cnblogs.com/souvenir/p/3884904.html)我们用了很多时间以及很长的篇幅来介绍oracle的整个安装过程,希望对大家用所帮助.oracl ...

  8. centos7 设置 tomcat 开机自启

    1.创建文件 # vi /etc/systemd/system/tomcat.service [Unit] Description=Tomcat8540 After=syslog.target net ...

  9. tomcat 开机自启

    d /usr/lib/systemd/system touch tomcat.service chmod 777 tomcat.service vi tomcat.service [Unit]Desc ...

随机推荐

  1. Message、Handler、Message Queue、Looper 之间的关系

    单线程模型中Message.Handler.Message Queue.Looper之间的关系 1.Message Message即为消息,可以理解为线程间交流的信息.处理数据后台线程需要更新UI,你 ...

  2. 微信获取信息发生错误(两个access_token的区别),错误代码:40001,说明:invalid credential, access_token is invalid or not latest hints

    微信有两个access_token,一个是基础access_token,一个是网页授权access_token. 想要获取不带unionid的用户信息(以下链接)使用基础access_token ht ...

  3. Kubernetes使用Keda进行弹性伸缩,更合理利用资源

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 Kubernetes自带的HPA是只支持CPU/MEM的,很多时候我们并不根据这两项指标来进行伸缩资源.比如消费 ...

  4. Redmine部署中遇到的问题

    Redmine部署文章: 第一篇:Redmine部署 第二篇:Redmine部署中遇到的问题 上一篇文章我写了Redmine怎样部署(点这里直达上一篇文章),这一篇就写一下在Redmine部署中遇到过 ...

  5. 流程自动化RPA,Power Automate Desktop系列 - 批量备份Git仓库做好灾备

    一.背景 打个比如,你在Github上的代码库需要批量的定时备案到本地的Gitlab上,以便Github不能访问时,可以继续编写,这时候我们可以基于Power Automate Desktop来实现一 ...

  6. Spring缓存的注解关键词解释

    Spring缓存的注解关键词解释 @Cacheable支持缓存 @Cacheable可以标记在一个方法上,也可以标记在一个类上. 1.当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表 ...

  7. PHP7与php5

    php在2015年12月03日发布了7.0正式版,带来了许多新的特性,以下是不完全列表: 性能提升:PHP7比PHP5.6性能提升了两倍. Improved performance: PHP 7 is ...

  8. python使用笔记28--unittest单元测试框架

    单元测试:开发程序的人自己测试自己的代码 unittest自动化测试框架 1.单元测试 unittest框架,执行的顺序是按照方法名的字母来排序的 setUpClass方法是最开始执行的 tearDo ...

  9. C预处理跨平台

    #include <stdio.h> //不同的平台下引入不同的头文件 #if _WIN32 //识别windows平台 #include <windows.h> #elif ...

  10. 跟我一起学Go系列:gRPC 全局数据传输和超时处理

    gRPC 在多个 GoRoutine 之间传递数据使用的是 Go SDK 提供的 Context 包.关于 Context 的使用可以看我之前的一篇文章:Context 使用. 但是 Context ...