CentOS 安装 tomcat 并设置 开机自启动

news2024/12/26 10:38:36

CentOS 安装 tomcat 并设置 开机自启动

下载jdk和tomcat

curl https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz
curl https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz

解压jdk和tomcat并修改目录名称

tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/
tar -zxvf apache-tomcat-10.1.15.tar.gz -C /usr/local/
mv /usr/local/jdk-21.0.1/ /usr/local/jdk-21
mv /usr/local/apache-tomcat-10.1.15 /usr/local/tomcat-10

设置tomcat.pid文件生成

其中tomcat.pid文件本身不存在,设置之后,启动Tomcat会自动生成

vi /usr/local/tomcat-10/bin/catalina.sh
# 定位文件第140行找到 PRGDIR=`dirname "$PRG"` 并在该行下追加以下内容
CATALINA_PID="/usr/local/tomcat-10/bin/tomcat.pid"

tomcat

配置环境变量

vi /etc/profile.d/my_env.sh
export JAVA_HOME=/usr/local/jdk-21

export CATALINA_BASE=/usr/local/tomcat-10
export CATALINA_HOME=/usr/local/tomcat-10

export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_BASE/bin:$CATALINA_HOME/bin

source /etc/profile.d/my_env.sh

编写开机启动服务

cd /usr/lib/systemd/system
vi tomcat-10.service
[Unit]
 
Description=tomcat-server
 
After=network.target
 
 
 
[Service]
 
Type=forking
 
# 因为服务启动时,是不会读取全局变量的(/etc/profile),因此全局变量中配置的属性是读取不到的需要注意。
 
# 所以需要在这里配置Tomcat 启动需要的JDK,指定JDK路径
 
Environment="JAVA_HOME=/usr/local/jdk-21"
 
 
 
# 此文件是在第一步时配置的,如果type是后台运行,建议将此属性加上,指定pid。
 
PIDFile=/usr/local/tomcat-10/bin/tomcat.pid
 
 
 
# 需要注意的就是下面这一行,如果路径错了,那就无法自动启动,下面会有图文解释
 
# 整个 ExecStart 脚本,相当于是让系统开机时自动帮你在终端输入等号后面的命令
 
ExecStart=/usr/local/tomcat-10/bin/startup.sh
 
ExecReload=/usr/local/tomcat-10/bin/shutdown.sh
 
ExecReload=/bin/kill -s HUP $MAINPID
 
PrivateTmp=true
 
 
 
[Install]
 
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start tomcat-10.service 
systemctl enable tomcat-10.service 

设置防火墙端口放行

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload 

重启系统

reboot
浏览器访问测试

http://服务器IP地址:8080

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136174.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下利用Docker快速部署Kafka

1.摘要 在本文中,介绍了利用Docker安装Kafka的基础环境要求; 利用Docker安装zookeeper过程; 利用Docker安装Kafka过程;进入容器配置生产者和消费者过程; 演示生产者和消费者通讯; 故障排查方法。 2.基础环境准备 提前准备一台安装Linux系统的主机或虚拟机,我这里安装的是Ubu…

Photoshop使用笔记总目录

Photoshop基础学习之工具学习 一、【Photoshop界面认识】 二、【 Photoshop常用快捷键】 三、【色彩模式与颜色填充】 四、【选区】 五、【视图】 六、【常用工具组】 七、【套索工具组】 八、【快速选择工具组】 九、【裁剪工具组】 十、【图框工具组】 十一、【吸取…

二叉树中的topk问题(带图详解)

🗡CSDN主页:d1ff1cult.🗡 🗡代码云仓库:d1ff1cult.🗡 🗡文章栏目:数据结构专栏🗡 TopK问题 在给定的n的数据中,求出这n个数据中最大的k个数字 TopK的代码&a…

C++通过指针获取类的私有成员

前言 C并没有类似java的反射机制,可以暴力获取类的私有成员。然而C因程序员自行管理内存,所以可以通过指针干任何事情。当然!操作指针是非常危险的,谨慎操作! // dome.cpp : 此文件包含 "main" 函数。程序执…

HackTheBox-Starting Point--Tier 0---Redeemer

文章目录 一 题目二 实验过程 一 题目 Tags Redis、Vulnerability Assessment、Databases、Reconnaissance、Anonymous/Guest Access译文:redis、漏洞评估、数据库、侦察、匿名/访客访问Connect To attack the target machine, you must be on the same network.…

微信智能对话初体验:5分钟搭建免费专属的智能对话机器人

写在前面 投入AI创业几个月了,AI小程序快要上线了,已经在备案审批中,想一起AI搞事情的可以联系我看是否有合作机会。昨天刷X时,看到有人说微信新上线了这个平台:https://chatbot.weixin.qq.com/,赶紧试试&…

VulnHub metasploitable-1

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…

科技联众,互利共赢 | 卡驰科技(深圳)有限公司CEO张倍铭博士到访拓世科技集团,共探跨境电商,海外拓展无限可能

在创新的浪潮中,人工智能以其强大的能量持续推动着各行各业的进步,拓世科技集团作为人工智能领域的引领者,通过不断合作和交流,与众多领域的佼佼者共同探讨数字时代的无限可能。卡驰科技(深圳)有限公司作为…

跨境商城开发:10个关键步骤带你实现全球销售

在数字化时代,跨境电商成为企业扩大市场规模的重要策略之一。本文将揭示为何跨境商城开发是实现全球销售的绝佳途径,以及为什么你应该专注于跨境商城的开发与建设。 十个必备步骤,助你成功搭建跨境商城 第一步:市场研究与目标定…

pdf转jpg的方法【ps和工具方法】

pdf转jpg的方法: 1.photoshop办法: pdf直接拖入ps中,另存为*.Jpg文件即可 另外注意的时候,有时候别人给你pdf文件中包含你需要的jpg文件,千万不要截图进入ps中,直接把文件拖入ps中,这样的文件…

元宇宙游戏大爆炸,UTONMOS元宇宙游戏成爆品

随着元宇宙概念不断的被深化,目前许多用户群体已经注意到并加入元宇宙领域。而元宇宙比较火的场景有社交、游戏、虚拟会议等,其中元宇宙游戏开发是较火的一个赛道,成为元宇宙从业者们入局的方向。 相比国内其他公司还处于概念阶段&#xff0…

STM32 中断NVIC详解,配置及示例

NVIC全称 Nested Vectored Controller 嵌套向量中断控制器 它是一种硬件设备,用于管理和协调处理器的中断请求。NVIC可以管理多个中断请求,并按优先级处理它们。当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序&am…

python自动化测试(二):获取元素定位的基本方式

目录 一、前置代码 二、通过HTML元素ID的方式去进行元素定位 三、通过HTML元素的name属性进行元素定位 四、练习一:打开百度登录界面并输入数据后登录 五、通过HTML元素的类名来进行元素定位 六、通过链接的文本值方式进行元素定位 七、通过部分的链接文本值…

mac电脑怎么永久性彻底删除文件?

Mac老用户都知道在我们查看Mac内存时都会发现有一条“其他文件”占比非常高,它是Mac储存空间中的“其他”数据包含不可移除的移动资源,如,Siri 语音、字体、词典、钥匙串和 CloudKit 数据库、系统无法删除缓存的文件等。这些“其他文件”无用…

如何使用Abaqus进行跌落仿真

跌落测试通常是主要用来模拟产品在搬运期间可能受到的自由跌落,考察产品抗意外冲击的能力。通常跌落高度大都根据产品重量以及可能掉落机率作为参考标准,落下表面应该是混凝土或钢制成的平滑、坚硬的刚性表面(如有特殊要求应以产品规格或客户…

word英文论文检查标点是否正确

背景 英文论文,国内很多都是word模板,我们在搞完文章内容后,往往需要做点关于标点符号的检查。 检查内容 我个人经验来讲,有如下: . 后面有没有加空格,并且下一句话首字母大写。, 后面有没有加空格&…

微信小程序学习

Window导航栏 设置上拉触底的距离 概念:上拉触底是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而加载更多数据的行为。 设置步骤: app.json -> window -> 为 onReachBottomDistance 设置新的数值 注意&#xf…

Centos7安装mongodb7.0.2教程以及基础java远程使用

由于项目性能需求,尝试研究mongodb的使用,与mysql的存储和读取性能进行比较。安装完成发现,其批量写入数据功能确实比mysql快,但是读取性能并不如mysql,但是由于其是文件型数据库,可能在内存操作点啥&#…

超声波测距与倒车雷达电路1

文章目录 超声测距 超声测距 超声测距跟倒车雷达绝大多数用的都是40kHz 接受是一个同相比例整流后加上一个比较器 换能器自带滤波,需要激发信号与换能器信号匹配 这个电路图是错的,一直不停的发,底下来不及收 频率越高传输距离…

Pritunl搭建OpenVPN服务器详细流程,快速实现公网远程连接!

文章目录 前言1.环境安装2.开始安装3.访问测试4.创建连接5.局域网测试连接6.安装cpolar7.配置固定公网访问地址8.远程连接测试 前言 Pritunl是一款免费开源的 VPN 平台软件(但使用的不是标准的开源许可证,用户受到很多限制)。这是一种简单有…