华为云云耀云服务器L实例评测|centos7.9配置java环境变量安装tomcat 部署war和jar

news2024/11/22 13:23:53

文章目录

    • ⭐前言
    • ⭐配置jdk环境
      • 💖 选择linux x64 archive
      • 💖 云耀服务器控制台使用cloudShell
    • ⭐配置tomcat环境
      • 💖 wget下载解压包
      • 💖 运行tomcat
      • 💖 控制台开放8080端口
      • 访问部署tomcat成功!
    • ⭐java运行jar
    • ⭐tomcat运行war
    • ⭐总结
    • ⭐结束

huawei-logo

yma16-logo

⭐前言

大家好,我是yma16,本文分享关于华为云云耀云服务器L实例评测|centos7.9配置java环境变量安装tomcat 部署war和jar。
该系列往期文章
[华为云云耀云服务器L实例评测|初始化centos镜像到安装nginx部署前端vue、react项目]
华为云云耀云服务器L实例评测|centos7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问
jdk和jar的区别
JDK(Java Development Kit)是Java开发工具包,包含了Java编译器、Java虚拟机、Java API库以及其他开发工具。JDK是Java开发的基础工具,开发者需要安装JDK才能编写、编译和运行Java程序。

JAR(Java Archive)是Java的归档文件格式,用于将Java类、资源文件和元数据打包成一个文件。JAR文件可以被视为一个类库或应用程序,可以被其他Java程序引用。JAR文件可以包含多个类和其他文件,它们可以被打包成可执行JAR文件,也可以被用于Java应用程序的部署和分发。

因此,JDK是用于Java开发的基础工具,而JAR是Java扩展和部署的一种格式。在Java开发中,我们通常需要使用JDK来编写、编译和运行Java程序,而JAR文件则可以被用于将Java类和资源打包并发布到生产环境。
tomcat是什么
Tomcat是一种开源的Web应用服务器,由Apache软件基金会下属的Jakarta项目开发出来,是一个免费的Web服务器,它是一个用Java语言编写的Web服务器,可以运行在Windows、Linux、Unix等操作系统之上,能够处理Java Servlet和JavaServer Pages(JSP)等动态网页。Tomcat是Apache的另一个重要项目,功能是作为Web服务器和Servlet容器,使开发者能够在Java平台上开发和运行Java Web应用程序。

⭐配置jdk环境

下载经典的jdk1.8包
官网:https://www.oracle.com/cn/java/technologies/downloads/archive/

💖 选择linux x64 archive

选择 linux x64 archive
url-jdk

💖 云耀服务器控制台使用cloudShell

控制台选择远程登录
创建 jdk_file 目录存放jdk文件

$ mkdir -p /jdk_file

cloudShell
拖拽 jdk的tar包到cloudShell目录文件夹中上传

解压 tar包

$ tar -zxvf jdk-8u371-linux-x64.tar.gz

创建 目录 url/local/java 统一在usr/local文件目录中管理安装应用
移动 jdk到url/local/java

$ mkdir -p /usr/local/java
$ mv jdk1.8.0_371/ /usr/local/java

配置 linux环境变量

$ vim /etc/profile

shift+g滑动到最后一行添加 java的环境变量

# java
JAVA_HOME=/usr/local/java/jdk1.8.0_371
JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#:$MYSQLPATH/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

其中$为取变量值可以拼接
验证java安装的有效性

$ java -version
$ javac

有效
java-test

⭐配置tomcat环境

下载tomcat
官网
https://tomcat.apache.org/
下载tar包
tomcat-zip

💖 wget下载解压包

复制链接地址在cloudShell使用wget下载

$ mkdir -p /usr/local/tomcat
$ cd /usr/local/tomcat
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
$ tar -zxvf apache-tomcat-9.0.80.tar.gz

添加读写权限 chmod +x

$ chmod +x /url/local/tomcat

wget-tomcat

💖 运行tomcat

tomcat服务默认开启8080端口
进入tomcat bin目录运行startup.sh

$ cd bin
$ ./startup.sh 

查看tomcat运行日志

$ cat ../logs/catalina.out

tomcat
运行tomcat耗时493ms

💖 控制台开放8080端口

安全组添加8080
port

访问部署tomcat成功!

访问ip:8080
http://121.36.66.2:8080/
tomcat-server

⭐java运行jar

上传jar到指定的目录中,最好不要和tomcat冲突,属于单线程运行
nohup 运行不退出,自定义log.out的日志
jar-ide

如运行一个springCloud.jar包

$ nohup java -jar springCloud.jar &>log.out &

⭐tomcat运行war

上传war包到tomcat下的webapp中,运行tomcat
删除日志再运行

$ rm -rf ../logs/catalina.out
$ ./startup.sh 

⭐总结

配置环境对比window的环境变量学习记忆效果更佳,都是相同的原理,环境变量是为了暴露路径让程序可以被找到,日志是记录代码运行轨迹,可以帮助用户纠错。

jdk配置

  1. 配置jdk需要在/etc/profile添加环境变量
  2. 配置完成之后需要验证

tomcat配置
a. 添加tomcat文件夹的读写权限
b. 避免默认的端口8080冲突

部署jar和war

  • 输出日志文件
  • 遇到错误查询日志

java的优势
具有以下优势:

  1. 简单易学:Java是一种面向对象的编程语言,使用简单,语法规范,容易理解。

  2. 平台无关性:Java的最大特点就是可以在各种不同的硬件平台和操作系统上运行,具有很强的可移植性。

  3. 安全性高:Java提供了丰富的安全功能,包括Java沙箱安全模型、字节码校验器、自动内存管理等,可以有效地防止病毒和恶意代码的攻击。

  4. 面向对象:Java是一种面向对象编程语言,支持封装、继承和多态等面向对象特性,可以更好地实现软件的复杂性管理。

  5. 多线程能力强:Java提供了多线程编程的支持,可以充分利用多核处理器的优势,提高程序的效率。

  6. 丰富的开发工具和库:由于Java在市场上的广泛应用,开发工具和相关库非常丰富,可以为开发人员提供很多方便。

  7. 开源社区活跃:Java的开源社区非常活跃,并提供了丰富的开源项目和库,可以让开发者充分利用这些资源减少开发成本和开发周期。

⭐结束

本文分享到这结束,如有错误或者不足之处欢迎指出!
earth

👍 点赞,是我创作的动力!
⭐️ 收藏,是我努力的方向!
✏️ 评论,是我进步的财富!
💖 最后,感谢你的阅读!

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

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

相关文章

VS Code 自动选择Python3 venv

我们使用VS Code写Python代码时,往往希望这个项目的依赖和其他项目或者全局的python环境隔离开,VS Code不像PyCharm那样自动完成,但是我们也可以快速的进行设置. 首先我们需要把python项目所在的目录添加为VS Code的Workspace 添加成works…

7.6 实现进程挂起与恢复

挂起与恢复进程是指暂停或恢复进程的工作状态,以达到一定的控制和管理效果。在 Windows 操作系统中,可以使用系统提供的函数实现进程的挂起和恢复,以达到对进程的控制和调度。需要注意,过度使用进程挂起/恢复操作可能会造成系统性…

基于or-tools的护士排班问题建模求解

基于or-tools的护士排班问题建模求解 护士排班问题(Nurse Rostering Problem,NRP)ortools官网例题1:A nurse scheduling problem代码解析完整代码 ortools官网例题2:Scheduling with shift requests代码解析完整代码 …

比特币的蒙提霍尔问题

把钱放在嘴边 我们在比特币上建立了蒙提霍尔问题模拟。 如果您知道概率谜题的正确答案,不仅炫耀您的数学技能,还会获得金钱奖励。 它完全无需信任地在链上运行。 蒙提霍尔问题 蒙提霍尔问题(三门问题)是一个以蒙提霍尔命名的概率…

Redis桌面管理工具Redis Desktop Manager mac中文版功能特色

Redis Desktop Manager for Mac是一款实用的Redis可视化工具。RDM支持SSL / TLS加密,SSH隧道,基于SSH隧道的TLS,为您提供了一个易于使用的GUI,可以访问您的Redis数据库并执行一些基本操作:将键视为树,CRUD键…

计算机网络工程师多选题系列——操作系统

得多选者得天下啊同志们! 摘录按照章节顺序,但事实上各章节习题有交叉。 1 操作系统 1.1 操作系统概论 操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。 操作系统的主要功能——设备管理:为用户程序提…

metinfo_5.0.4 EXP Python脚本编写

文章目录 metinfo_5.0.4EXP编写SQL注入漏洞 metinfo_5.0.4EXP编写 SQL注入漏洞 漏洞点:/about/show.php?langcn&id22 http://10.9.75.142/metInfo_5.0.4/about/show.php?langcn&id22验证漏洞(数字型注入) 状态码区分正确与错误 做比较的时候不能采用…

实现顺序表——实践报告

W...Y的主页 😊 代码仓库分享 💕 目录 一、实验目的: 二、实验内容: 三、实验要求: 四.实验步骤(给出每个函数的算法描述): 五.实验结果: 六.源代码 实验名称 &am…

【深度学习实验】前馈神经网络(五):自定义线性模型:前向传播、反向传播算法(封装参数)

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 线性模型Linear类 a. 构造函数__init__ b. __call__(self, x)方法 c. 前向传播forward d. 反向传播backward 2. 模型训练 3. 代码整合 一、实验介绍 实现线性…

【计算机网络】IP协议(下)

文章目录 1. 特殊的IP地址2. IP地址的数量限制3. 私有IP地址和公网IP地址私有IP为什么不能出现在公网上?解决方案——NAT技术的使用 4. 路由5. IP分片问题为什么要进行切片?如何做的分片和组装?16位标识3位标志13位片偏移例子 细节问题如何区…

一文带你玩转logo:含义、获取、使用以及2000多知名logo大图资源

大家好!logo是我们非常熟悉的一种事物,但是我发现很多场合的logo使用并不规范、高效,所以今天六分成长来带着大家了解一下关于logo的方方面面。 一、什么是logo? logo不是某一些英文单词的缩写,是一个完整的单词&…

uniapp如何判断是哪个(微信/APP)平台

其实大家在开发uniapp项目的时候长长会遇到这样一个问题,就是针对某些小程序,没发去适配相关的功能,所以要针对不同的平台,进行不同的处理。 #ifdef : if defined 仅在某个平台编译 #ifndef : …

机器学习实验一:使用 Logistic 回归来预测患有疝病的马的存活问题

代码: import pandas as pd import numpy as np from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.metrics import classification_report import matplotlib.pyplot as plt def train(): # …

机器学习---神经元模型

1. 生物学的启示 神经元在结构上由细胞体、树突、轴突和突触四部分组成。 细胞体是神经元的主体,由细胞核、细胞质和细胞膜3部分组成。细胞体的外部是细胞膜,将 膜内外细胞液分开。由于细胞膜对细胞液中的不同离子具有不同的通透性,这使得膜…

XXE 漏洞及案例实战

文章目录 XXE 漏洞1. 基础概念1.1 XML基础概念1.2 XML与HTML的主要差异1.3 xml示例 2. 演示案例2.1 pikachu靶场XML2.1.1 文件读取2.1.2 内网探针或者攻击内网应用(触发漏洞地址)2.1.4 RCE2.1.5 引入外部实体DTD2.1.6 无回显读取文件 3. XXE 绕过3.1 dat…

【操作系统】线程、多线程

为什么要引入线程? 传统的进程只能串行的执行一系列程序,线程增加并发度。同一个进程分为多个线程。 线程是调度的基本单元,程序执行流的最小单位,基本的CPU执行单元。 进程是资源分配的基本单位。 线程的实现方式 用户级线程 代…

Unity入门教程(上)

七、运行游戏 再次保存我们的项目文件(返回步骤四)。保存完成后,让我们把游戏运行起来。 1,确认游戏视图标签页右上方的Maximize on Play图标处于按下状态,然后点击画面上方的播放按钮(位于工具栏中间的播…

C++类模板学习

之前已经学习了函数模板,在这里, C函数模板Demo - win32 版_c编写的opc da demo_bcbobo21cn的博客-CSDN博客 下面学习类模板; VC6; 做一个星星类,Star; Star.h; #if !defined(AFX_STAR_H_…

(十二)VBA常用基础知识:worksheet的各种操作之sheet移动

当前sheet确认 把sheet1移动到sheet3前边 Sub Hello()10Worksheets("Sheet1").Move Before:Worksheets("Sheet3") End Sub3. 把sheet2移动到sheet1后边 Sub Hello()11Worksheets("Sheet2").Move after:Worksheets("Sheet1") End Sub…

MissionPlanner编译过程

环境 windows 10 mission planner 1.3.80 visual studio 2022 git 2.22.0 下载源码 (已配置git和ssh) 从github上克隆源码 git clone gitgithub.com:ArduPilot/MissionPlanner.git进入根目录 cd MissionPlanner在根目录下的ExtLibs文件下是链接的其它github源码&#xff0…