当前位置: 首页 > news >正文

Linux中安装java和tomcat(保姆级教程)

java 篇

        JDK是用于开发Java应用程序的软件开发工具包。它包含了编译器、调试器、运行时环境和其他一些开发工具,可以帮助开发人员创建、编译、调试和部署Java应用程序。JDK提供了Java编程语言的开发工具和运行时库,使开发人员能够编写和执行Java代码。

安装自己所需的版本之前要电脑自带的jdk删了

查看电脑所有的java

rpm -qa | grep java

卸载以下4个java软件

从oracle官网下载jdk

点击资源找到java下载

 如果需要的是jdk17,21,22就可以直接在外面下载

如果想要老的版本就需要点击 java archive

从中找到所需要的版本 (本次使用的是 jdk-8u341 )

下载后缀名为tar.gz的压缩包(需要登陆才能下载)

把下载的文件拖到或者用其他方式放到linux的/usr/local/src 目录中

 解压到/usr/local/src中

打开 /etc/profile文件

vim /etc/profile

在文件的最后加上

export JAVA_HOME=/usr/local/jdk1.8.0_341export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin

最后刷新配置文件

source /etc/profile

测试

查看版本

java -version 

tomcat 篇

        Tomcat是一个开源的Java Servlet容器,用于托管和运行Java Web应用程序。它是Apache软件基金会的一部分,并且是当今最流行的Java应用服务器之一。Tomcat支持Java Servlet和JavaServer Pages(JSP)规范,并提供了一个简单的Web服务器环境,可以处理HTTP请求和响应,并将Java Web应用程序部署到互联网上。通过Tomcat,开发人员可以轻松地构建和部署动态的、可扩展的Web应用程序。

tomcat下载网站:

下滑找到support Apache

点击找到旧版本 

 找到tomcat

选择你需要的大版本

找到所需要的版本(本次使用的是8.5.51)

右键复制链接地址返回到linux系统中

wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.51/bin/apache-tomcat-8.5.51.tar.gz

加压到opt文件中

tar -xzvf apache-tomcat-8.5.51.tar.gz -C /opt

给文件改名个名

mv apache-tomcat-8.5.51 tomcat8  <-(当前大版本号)

修改端口

非必要操作,如果需要部署多Tomcat,则需要修改端口

#修改server.xml

vim /tomcat安装目录/conf/server.xml

找到如下行,Tomcat默认端口为8080,按照自己需求修改即可

<Connector port="8080" protocol="HTTP/1.1"

                        connectionTimeout="20000"

                        redirectPort="8443" />

开放端口

firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload

启动/停用

# 启动 sh /tomcat安装目录/bin/startup.sh

# 停用 sh /tomcat安装目录/bin/shutdown.sh

配置Tomcat服务

vim /usr/lib/systemd/system/tomcat8.service

在新文件里输入

[Unit]
Description=tomcat8[Service]
#定义启动类型 后台运行模式
Type=forking
#定义启动进程时执行的命令。
ExecStart=/opt/tomcat8/bin/startup.sh
#重服务时执行的命令
ExecReload=/opt/tomcat8/bin/startup.sh
#定义关闭进程时执行的命令。
ExecStop=/opt/tomcat8/bin/shutdown.sh[Install]
#表示多用户命令行状态
WantedBy=multi-user.target

保存并退出

:wq

进入到tomcat 的bin目录中

tomcat依赖java

vim setclasspath.sh

打开后在里面添加

不要带空格!!!!

export JAVA_HOME=/usr/local/jdk1.8.0_341

 启动

# 设置Tomcat8开机启动

systemctl enable tomcat8

# 启动tomcat8服务

systemctl start tomcat8

测试

在网页里访问192.168.***.***:8080

各位大佬如果有错误给孩子提醒一下,万分感谢 

相关文章:

Linux中安装java和tomcat(保姆级教程)

java 篇 JDK是用于开发Java应用程序的软件开发工具包。它包含了编译器、调试器、运行时环境和其他一些开发工具&#xff0c;可以帮助开发人员创建、编译、调试和部署Java应用程序。JDK提供了Java编程语言的开发工具和运行时库&#xff0c;使开发人员能够编写和执行Java代码。 …...

Vue组件库Element和Vue路由

目录 一、Vue组件库Element&#xff08;学会怎么CV&#xff09; 快速入门 ElementUI的常用组件 1.Table表格 &#xff08;1&#xff09;组件演示 &#xff08;2&#xff09;组件属性详解 2.Pagination分页 &#xff08;1&#xff09;组件演示 &#xff08;2&#xff0…...

网络编程,网络协议,UDP编程

网络&#xff1a; 1.协议&#xff1a;通信双方约定的一套标准 2.国际网络通信协议标准&#xff1a; 1.OSI协议&#xff1a; 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …...

通过访存地址获取主存数据的过程

目录 1.根据访存地址在Cache中查找数据 2.如果在Cache中命中 3.如果没有命中 4.数据送CPU 5.做几道题&#xff1a; 主要厘清思路&#xff0c;中间细节需自行补充! 1.根据访存地址在Cache中查找数据 ① 访存地址的结构会根据Cache和主存之间的映射方式不同而改变。映射方式…...

sqlite3交叉编译问题(对‘fcntl64@GLIBC_2.28’未定义的引用)

使用rk3568的编译器交叉编译程序&#xff0c;报如下错误&#xff1a; libsqlite3.so&#xff1a;对‘fcntl64GLIBC_2.28’未定义的引用 libsqlite3.so&#xff1a;对‘logGLIBC_2.29’未定义的引用在网上查了下这个问题的原因可能是在GLIBC库2.28版本中&#xff0c; "fcn…...

每天一个数据分析题(四百九十六)- 决策树模型

回归树是可以用于回归的决策树模型&#xff0c;一个回归树对应着输入空间&#xff08;即特征空间&#xff09;的一个划分以及在划分单元上的输出值。以下哪个指标可用于回归树中的模型比较 A. Adjusted R2 B. F-measure C. AUC D. Precision & Recall 数据分析认证考试…...

七牛云 CDN 视频瘦身,为视频分发「减负增效」

随着智能设备的普及&#xff0c;以及各种以分享视频为主的平台的兴起&#xff0c;人们记录生活、分享故事的方式不再局限于文字和图片&#xff0c;而是越来越多地通过视频来表达。视频也不再需要复杂的制作过程&#xff0c;变得随手可得。 然而&#xff0c;视频在互联网上的爆炸…...

使用html-docx-js + fileSaver实现前端导出word

因为html-docx-js是16年的老库了&#xff0c;它代码里面用到的with语法现在严格模式不允许&#xff0c;用npm直接引入会报错&#xff0c;所以我们需要用其它方式引入 首先要将html-docx-js的代码放到项目中 html-docx-js/dist/html-docx.js at master evidenceprime/html-do…...

Spark2.x 入门:DStream 输出操作

在Spark应用中&#xff0c;外部系统经常需要使用到Spark DStream处理后的数据&#xff0c;因此&#xff0c;需要采用输出操作把DStream的数据输出到数据库或者文件系统中。 这里以《Spark2.1.0入门&#xff1a;DStream输出操作》中介绍的NetworkWordCountStateful.scala为基础…...

Python爬虫——简单网页抓取(实战案例)小白篇

Python 爬虫是一种强大的工具&#xff0c;用于从网页中提取数据。这里&#xff0c;我将通过一个简单的实战案例来展示如何使用 Python 和一些流行的库&#xff08;如 requests 和 BeautifulSoup&#xff09;来抓取网页数据。 实战案例&#xff1a;抓取一个新闻网站的头条新闻标…...

linux,ubuntu,使用ollama本地部署大模型llama3,模型通用,简易快速安装

文章目录 前言安装ollama启动ollama运行llama3模型查看ollama列表删除模型通过代码进行调用REST API 前言 在拥有了一条4090显卡后&#xff0c;那冗余的性能让你不得不去想着办法整花活&#xff0c;于是就想着部署个llama3&#xff0c;于是发现了ollama这个新大陆&#xff0c;…...

JS中的encodeURIComponent函数示例

JavaScript中的encodeURIComponent函数用于对字符串进行URL编码。它将字符串中的特殊字符转换为相应的编码形式&#xff0c;以确保字符串可以安全地嵌入到URL中。 使用encodeURIComponent函数时&#xff0c;它会将除了字母、数字、-、_、.、~以外的所有字符都进行编码。编码后…...

8.20 pre day bug

pre-bug1 分号省略 这些语句的分隔规则会导致一些意想不到的情形&#xff0c;如以下的一个示例&#xff1b; let m n f(bc).toString()但该语句最终会被解析为&#xff1a; let m n f(ab).toString();returntrue一定会被解析成 return;true;pre-bug2 Math.random()与Mat…...

位运算专题

分享丨【题单】位运算&#xff08;基础/性质/拆位/试填/恒等式/思维&#xff09; - 力扣&#xff08;LeetCode&#xff09; Leetcode 3133. 数组最后一个元素的最小值 我的答案与思路&#xff1a; class Solution { public: // 4 --> (100)2 7 --> (0111)2 // 5 --&g…...

HaProxy学习 —300K的TCP Socket并发连接实现(翻译)

HaProxy学习 —300K的TCP Socket并发连接实现&#xff08;翻译&#xff09; 1 原文链接2 原文翻译2.1 调整Linux系统参数2.2 调整HAProxy 1 原文链接 Use HAProxy to load balance 300k concurrent tcp socket connections: Port Exhaustion, Keep-alive and others&#xff0…...

92.WEB渗透测试-信息收集-Google语法(6)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;91.WEB渗透测试-信息收集-Google语法&#xff08;5&#xff09; 监控的漏洞也有很多 打…...

[数据集][目标检测]木材缺陷检测数据集VOC+YOLO格式2383张10类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2383 标注数量(xml文件个数)&#xff1a;2383 标注数量(txt文件个数)&#xff1a;2383 标注…...

【启明智显分享】智能音箱AI大模型一站式解决方案重塑人机交互体验,2个月高效落地

2010年左右&#xff0c;智能系统接入音箱市场&#xff0c;智能音箱行业在中国市场兴起。但大潮激荡&#xff0c;阿里、小米、百度三大巨头凭借自身强大的资本、技术、粉丝群强势入局&#xff0c;形成三足鼎立态势。经过几年快速普及&#xff0c;智能音箱整体渗透率极高&#xf…...

逻辑与集合论基础及其在编程中的应用

目录 第一篇文章&#xff1a;逻辑与集合论基础及其在编程中的深度应用 引言 命题逻辑与谓词逻辑在编程中的深入应用 集合论及其在编程中的深度运用 函数的概念及其与集合的结合 总结与应用 第一篇文章&#xff1a;逻辑与集合论基础及其在编程中的深度应用 引言 逻辑与集…...

【无标题】为什么 pg_rewind 在 PostgreSQL 中很重要?

文章目录 pg_rewind 的工作原理使用 pg_rewind 的要求Basic Usage of pg_rewind重要注意事项:为什么 pg_rewind 需要干净关闭&#xff1f;无法进行干净关闭的情况处理不正常关机结论 pg_rewind 是 PostgreSQL 中的一个实用程序&#xff0c;用于将一个数据库集群与另一个数据库集…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...