Linux-Tomcat服务配置到系统服务
目录
- 前言
- 一、系统环境
- 二、配置步骤
- step1 了解环境的安装路径
- step2 配置生成tomcat.pid文件
- step3 配置tomcat.service文件
- 三、测试systemctl命令管理Tomcat服务
- 3.1 systemctl命令启动Tomcat服务
- 3.2 systemctl命令查看Tomcat服务
- 3.3 systemctl命令关闭Tomcat服务
- 3.4 systemctl命令重启Tomcat服务
- 3.5 systemctl命令开启Tomcat服务开机自启
- 3.6 systemctl命令关闭Tomcat服务开机自启
- 四、问题分析
- 参考文献
- 总结
前言
本篇文章介绍如何将Tomcat服务配置到系统服务,实现使用systemctl命令管理Tomcat服务。
一、系统环境
- 虚拟机版本:VMware® Workstation 15 Pro
- Linux镜像文件:CentOS-7-x86_64-Minimal-1804.iso
- 主机系统:Windows 11 家庭中文版
- 主机系统类型:64 位操作系统, 基于 x64 的处理器
- 远程连接工具:MobaXterm中文版本
二、配置步骤
step1 了解环境的安装路径
JDK安装路径:/export/server/jdk
Tomcat安装路径:/export/server/tomcat
读者根据自己的安装路径进行配置
step2 配置生成tomcat.pid文件
为了配置tomcat.service文件的[Service]区块的PIDFile字段,需要配置启动Tomcat时自动生成tomcat.pid文件,此文件保存的是运行Tomcat时的进程号。
vi /export/server/tomcat/bin/catalina.sh添加以下内容
CATALINA_PID=$CATALINA_BASE/tomcat.pid
启动Tomcat服务,其自动会在tomcat的安装路径生成tomcat.pid文件(这里是/export/server/tomcat/)
当然,可以自定义生成路径,例如CATALINA_PID=自定义路径
step3 配置tomcat.service文件
在/usr/lib/systemd/system/目录下新建tomcat.service文件
vi /usr/lib/systemd/system/tomcat.service
添加以下内容
[Unit]
Description=Tomcat service
After=network.target[Service]
Type=forking
Environment="JAVA_HOME=/export/server/jdk/"
User=tomcat
Group=tomcat
PIDFile=/export/server/tomcat/tomcat.pid
ExecStart=/export/server/tomcat/bin/startup.sh
ExecStop=/export/server/tomcat/bin/shutdown.sh
ExecReload=/usr/bin/kill -s SIGHUP $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
tomcat.service文件分为三个区块,[Unit]、[Service]、[Install]
-
[Unit]区块:定义服务的启动顺序和服务的依赖关系
Description:服务的描述字段
After:服务的启动顺序。例如After=network.target表示系统网络服务启动后再启动服务 -
[Service]区块:定义服务的启动行为
Type:服务的启动类型
Type=simple(默认), 表示以ExecStart字段启动的进程为主进程
Type=forking , 表示以ExecStart字段启动时,创建一个子进程并作为服务的主进程(后台运行)
Type=notify , 表示启动服务结束后发出通知信号,Systemd再启动其他服务
Environment:服务的运行的环境,需要借助JDK的环境运行。(此字段必须配置)
User:服务的所属用户
Group:服务的所属用户组
PIDFile:服务的pid文件
ExecStart:启动服务的程序文件(必须写绝对路径)
ExecStop:关闭服务的程序文件(必须写绝对路径)
ExecReload:服务重启的程序文件,这里借助系统提供的kill命令实现服务的重启
PrivateTmp:服务是否创建临时的私有空间 -
[Install]区块:定义如何安装这个配置文件,即怎样做到开机启动
WantedBy:服务依赖的 Target
配置完成后,重载系统守护进程
systemctl daemon-reload
三、测试systemctl命令管理Tomcat服务
3.1 systemctl命令启动Tomcat服务
systemctl start tomcat.service
3.2 systemctl命令查看Tomcat服务
systemctl status tomcat.service
3.3 systemctl命令关闭Tomcat服务
systemctl stop tomcat.service
3.4 systemctl命令重启Tomcat服务
systemctl restart tomcat.service
3.5 systemctl命令开启Tomcat服务开机自启
systemctl enable tomcat.service
3.6 systemctl命令关闭Tomcat服务开机自启
systemctl disable tomcat.service
四、问题分析
出现这个问题的原因是配置tomcat.service的时候没有配置好[Service]区块的Environment字段
参考文献
[1] https://blog.csdn.net/cshongye/article/details/120261915
[2] https://blog.csdn.net/arv002/article/details/121779213
总结
道阻且长,行则将至!
相关文章:
![](https://img-blog.csdnimg.cn/direct/4e268e39d44445758fdaa29c7b02274c.png#pic_center)
Linux-Tomcat服务配置到系统服务
目录 前言一、系统环境二、配置步骤step1 了解环境的安装路径step2 配置生成tomcat.pid文件step3 配置tomcat.service文件 三、测试systemctl命令管理Tomcat服务3.1 systemctl命令启动Tomcat服务3.2 systemctl命令查看Tomcat服务3.3 systemctl命令关闭Tomcat服务3.4 systemctl命…...
![](https://img-blog.csdnimg.cn/direct/ab38279e01e54e07b7a62dfd1e02913c.png)
Python抓取高考网图片
Python抓取高考网图片 一、项目介绍二、完整代码一、项目介绍 本次采集的目标是高考网(http://www.gaokao.com/gkpic/)的图片,实现图片自动下载。高考网主页如下图: 爬取的流程包括寻找数据接口,发送请求,解析图片链接,向图片链接发送请求获取数据,最后保存数据。 二…...
![](https://www.ngui.cc/images/no-images.jpg)
Vue配置项data
data 目录 data 目录类型介绍关键原理编译过程 Vue2Vue3 📌Vue.js 中的 data(Obj/Function)属性是 Vue 实例的一个配置选项 类型介绍 对象式 对于根实例或者非复用组件,通常直接提供一个对象字面量作为 data 的值。在对象式中…...
![](https://img-blog.csdnimg.cn/direct/d3da6c7299fb4b0b808762079b7952f1.png)
在IDEA 2024.1.3 (Community Edition)中创建Maven项目
本篇博客承继自博客:Windows系统Maven下载安装-CSDN博客 Maven版本:maven-3.9.5 修改设置: 首先先对Idea的Maven依赖进行设置;打开Idea,选择“Costomize”,选择最下边的"All settings" 之后找…...
![](https://img-blog.csdnimg.cn/direct/df25fbf59f2d49d6bb061033d06b0d06.png#pic_center)
动手学深度学习(Pytorch版)代码实践 -卷积神经网络-28批量规范化
28批量规范化 """可持续加速深层网络的收敛速度""" import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as pltdef batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):""&quo…...
![](https://img-blog.csdnimg.cn/direct/14c0985bfee64e6da5c1aad1c9dca81d.png)
Apache Paimon系列之:Append Table和Append Queue
Apache Paimon系列之:Append Table和Append Queue 一、Append Table二、Data Distribution三、自动小文件合并四、Append Queue五、压缩六、Streaming Source七、Watermark Definition八、Bounded Stream 一、Append Table 如果表没有定义主键,则默认为…...
![](https://img-blog.csdnimg.cn/direct/935fec7f3f5b4a0fae2b7afb1c3cf7ba.gif)
Vue使用vue-esign实现在线签名 加入水印
Vue在线签名 一、目的二、样式三、代码1、依赖2、代码2.1 在线签名组件2.1.1 基础的2.1.2 携带时间水印的 2.2父组件 一、目的 又来了一个问题,直接让我在线签名(还不能存储base64),并且还得上传,我直接***违禁词。 好…...
![](https://www.ngui.cc/images/no-images.jpg)
与码无关:分数限制下,选好专业还是选好学校?
本文的目标读者:24届的高考生和家长。 写这篇非技术性文章,是因为我看到了24届考生和21年的我同样迷茫。 事先声明,本文带有强烈的个人思考色彩,可能会引起不适,如有不同观点,欢迎在评论区讨论。 一、前言…...
![](https://www.ngui.cc/images/no-images.jpg)
什么是负载均衡技术?
随着网络技术的快速发展,互联网行业也越来越广泛,人们的日常生活中也离不开网络技术,大量的用户进行浏览访问网站时,企业会使用负载均衡技术,降低当前网站的负载,以此来提高网站的访问速度。 今天小编就来给…...
![](https://www.ngui.cc/images/no-images.jpg)
存在重复元素Ⅱ python3
存在重复元素Ⅱ 问题描述解题思路代码实现复杂度 问题描述 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在,返回 true ;否则ÿ…...
![](https://img-blog.csdnimg.cn/img_convert/041a9de750fa5c32d4a18e51f217f9bf.gif)
【CV炼丹师勇闯力扣训练营 Day13:§6二叉树1】
CV炼丹师勇闯力扣训练营 代码随想录算法训练营第13天 二叉树的递归遍历 二叉树的迭代遍历、统一迭代 二叉树的层序遍历 一、二叉树的递归遍历(深度优先搜索) 【递归步骤】 1.确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理…...
![](https://www.ngui.cc/images/no-images.jpg)
代码随想录算法训练营第46天 [ 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III ]
代码随想录算法训练营第46天 [ 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 123.买卖股票的最佳时机III ] 一、121. 买卖股票的最佳时机 链接: 代码随想录. 思路:dp[i][0] 第i天持有股票的最大利润 dp[i][1] 第i天不持有股票的最大利润 做题状态:…...
![](https://img-blog.csdnimg.cn/direct/0976a995c209470c9352dadca86b639d.png)
基于IDEA的Maven简单工程创建及结构分析
目录 一、用 mvn 命令创建项目 二、用 IDEA 的方式来创建 Maven 项目。 (1)首先在 IDEA 下的 Maven 配置要已经确保完成。 (2)第二步去 new 一个 project (创建一个新工程) (3)…...
![](https://img-blog.csdnimg.cn/direct/668fd21ddd9541ccb463518259aed30b.png)
解锁空间数据奥秘:ArcGIS Pro与Python双剑合璧,处理表格数据、矢量数据、栅格数据、点云数据、GPS数据、多维数据以及遥感云平台数据等
ArcGISPro提供了用户友好的图形界面,适合初学者快速上手进行数据处理和分析。它拥有丰富的工具和功能,支持各种数据格式的处理和分析,适用于各种规模的数据处理任务。ArcGISPro在地理信息系统(GIS)领域拥有广泛的应用&…...
![](https://img-blog.csdnimg.cn/direct/45f04b1f208142c08c19344228738b5e.png)
后端路线指导(4):后端春招秋招经验分享
后端春招&秋招经验分享 春招(暑期实习) /秋招是应届生非常重要的应聘时间,每一个想就业的同学一定要有所了解! 本篇内容,老白将与大家分享暑期实习和秋招如何应对招聘的个人经验,希望每个同学看完都能有所收获! 首先说明一下老白对于面试核心竞争力的…...
![](https://www.ngui.cc/images/no-images.jpg)
面完小红书算法岗,心态崩了。。。
暑期实习基本结束了,校招即将开启。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。 最近,我们又陆续整理了很多大厂的面试题,…...
Android 断点续传进阶之多线程下载
今天继续下载的风骚走位内容—多线程多文件断点续传 Android 断点续传基础之单线程下载:http://blog.csdn.net/qq_27489007/article/details/53897653 效果图: 文件关系: 所需内容 多文件下载列表的显示 启动多个线程分段下载 使用通知栏…...
![](https://img-blog.csdnimg.cn/img_convert/c606cff0483a91e71c3c7d8a1b8798bb.gif)
Python爬虫学习 | Scrapy框架详解
一.Scrapy框架简介 何为框架,就相当于一个封装了很多功能的结构体,它帮我们把主要的结构给搭建好了,我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据,提取数据的框架,我们熟知爬虫总共有四大部分&am…...
![](https://img-blog.csdnimg.cn/img_convert/65fd31cc1556a399b2513b9a9e994e0a.png)
用户态协议栈05—架构优化
优化部分 添加了in和out两个环形缓冲区,收到数据包后添加到in队列;经过消费者线程处理之后,将需要发送的数据包添加到out队列。添加数据包解析线程(消费者线程),架构分层 #include <rte_eal.h> #inc…...
![](https://www.ngui.cc/images/no-images.jpg)
模拟退火算法
模拟退火算法(Simulated Annealing, SA)是一种用于全局优化问题的概率搜索算法,其灵感来自于金属退火过程。在金属退火中,材料被加热到高温,然后缓慢冷却,以减少其晶格中的缺陷并达到最小能量状态。模拟退火…...
![](https://www.ngui.cc/images/no-images.jpg)
Java匿名类
Java 匿名类是一种特殊的内部类,它没有名字,并且通常用来简化代码实现,尤其是在实现接口或者抽象类的实例时。匿名类可以在实例化时定义其行为,而不需要创建单独的类文件。 匿名类的特点 没有名字:匿名类是没有名字的…...
![](https://img-blog.csdnimg.cn/img_convert/1d804aa8063db3b9e7b3f2dddc908ec7.png)
G7易流赋能化工物流,实现安全、环保与效率的共赢
近日,中国物流与采购联合会在古都西安举办了备受瞩目的第七届化工物流安全环保发展论坛。以"坚守安全底线,追求绿色发展,智能规划化工物流未来"为主题,该论坛吸引了众多政府部门、行业专家和企业代表的参与。G7易流作为…...
![](https://www.ngui.cc/images/no-images.jpg)
y=sin(2x)
函数 \( y \sin(2x) \) 是一个正弦函数,其中 \( x \) 是自变量,\( y \) 是因变量。这个函数描述了一个周期性波动的波形,其特点是: 1. **振幅**:正弦函数的振幅是 1,这意味着波形在 \( y \) 轴上的最大值…...
![](https://img-blog.csdnimg.cn/direct/2741d56138e9490dab94ff8b52f66292.png)
快捷方式(lnk)--加载HTA-CS上线
免责声明:本文仅做技术交流与学习... 目录 CS: HTA文档 文件托管 借助mshta.exe突破 本地生成lnk快捷方式: 非系统图标路径不同问题: 关于lnk的上线问题: CS: HTA文档 配置监听器 有效载荷---->HTA文档--->选择监听器--->选择powershell模式----> 默认生成一…...
![](https://img-blog.csdnimg.cn/direct/54d62452204c400ca46787734d7a5280.png#pic_center)
从同—视角理解扩散模型(Understanding Diffusion Models A Unified Perspective)
从同—视角理解扩散模型 Understanding Diffusion Models A Unified Perspective【全公式推导】【免费视频讲解】 B站视频讲解 视频的论文笔记 从同一视角理解扩散模型【视频讲解笔记】 配合视频讲解的同步笔记。 整个系列完整的论文笔记内容如下,仅为了不用—一回复…...
![](https://img-blog.csdnimg.cn/direct/0c1d4505e9db43e59b8fe765b7fb59cb.png)
docker 基本用法及跨平台使用
一、Docker的优点 docker 主要解决的问题就是程序开发过程中编译和部署中遇到的环境配置的问题。 1.1 Docker与其他虚拟机层次结构的区别** 运行程序重点关注点在于环境。 VM虚拟机是基于Hypervisor虚拟化服务运行的。 Docker是基于内核的虚拟化技术实现的。 1.2 Docker的技…...
![](https://img-blog.csdnimg.cn/direct/385673353c0f4257b756c114550f7b9f.png)
Vscode远程ubuntu
远程连接 到这里vscode远程到ubuntu和关闭远程连接,已完成 配置python环境 在远程目录下新建.vscode隐藏文件夹,文件夹里新建一个 settings.json 文件, 先远程服务器看下conda下的python虚拟环境位置 settings.json位置及内容如下 测试pyt…...
![](https://img-blog.csdnimg.cn/direct/a984d89bf30543d88fd8562da21222f3.png)
SHA256 安全散列算法加速器实验
1、SHA256 介绍 SHA256 加速器是用来计算 SHA-256 的计算单元, SHA256 是 SHA-2 下细分出的一种算法。 SHA-2 名称来自于安全散列算法 2 (英语: Secure Hash Algorithm 2 )的缩写,一种密码散列函 数算法标准…...
![](https://www.ngui.cc/images/no-images.jpg)
Elasticsearch-ES查询单字段去重
ES 语句 整体数据 GET wkl_test/_search {"query": {"match_all": {}} }结果: {"took" : 123,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0…...
![](https://img-blog.csdnimg.cn/img_convert/68844cc171a252a17e80a5f4c40313a8.png)
【Apache Doris】周FAQ集锦:第 7 期
【Apache Doris】周FAQ集锦:第 7 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和…...
![](/images/no-images.jpg)
昆明网站建设锐网/还有哪些平台能免费营销产品
PostgreSQL 8.1 中文文档PrevFast BackwardChapter 7. 查询Fast ForwardNext 7.6. LIMIT 和 OFFSET 附加上 LIMIT和OFFSET 子句之后,你就可以检索原来查询语句查询出来的结果中的一部分数据行: SELECT select_listFROM table_expression[LIMIT { number …...
![](/images/no-images.jpg)
wordpress自适应手机修改/电商网站建设步骤
参考:https://www.cnblogs.com/marsggbo/p/12630962.html source activate base【环境名称】...
![](/images/no-images.jpg)
ngix安装wordpress的伪静态/seo短期课程
你好,欢迎来到第 29 课时,从这一课时开始我们进入“Flink 实时统计 PV、UV”项目的学习。本课时先介绍实时统计项目的背景、架构设计和技术选型。 背景 PV(Page View,网站的浏览量)即页面的浏览次数,一般用来衡量网站用户访问的网页数量。我们可以简单地认为,一个用户…...
![](https://img-blog.csdnimg.cn/20191021143032932.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk4MTU2MA==,size_16,color_FFFFFF,t_70)
怎样做网站制作团队/sem竞价培训
查看前端面试题小程序 大量面试题和答案,请微信查看 var array1 [ {“Num”: "A " },{“Num”: “B” }]; var array2 [ {"Num": "A ","Name": "t1 " }, {"Num": "B","Name": …...
做网站激励语/适合奖励自己的网站免费
这篇博文介绍如何用OHEM算法训练数据和测试数据。因为OHEM算法是对Fast RCNN的改造,所以Caffe代码的编译和Fast(er) RCNN基本类似。OHEM算法及Caffe代码的讲解可以参考另外一篇博客:OHEM算法及Caffe代码详解 代码的github地址:https://githu…...
![](https://img-blog.csdnimg.cn/20201017213655194.png#pic_center)
开公司建网站/网店如何引流与推广
示例代码: namespace ConsoleApp1 {//定义委托,它定义了可以代表的方法的类型public delegate void GreetingDelegate(string name);class Program{public static void GreetPeople(string name, GreetingDelegate MakeGreeting){MakeGreeting(name);}p…...