【JavaEE】在Linux上搭建一个Java部署环境

news2024/11/17 5:44:07

努力经营当下,直至未来明朗!

文章目录

  • 在Linux上搭建一个Java部署环境
    • 1. 安装jdk
    • 2. 安装tomcat
    • 3. 安装mysql
  • 小结


普通小孩也要热爱生活!

在Linux上搭建一个Java部署环境

为了部署java web程序,需要安装:jdk、tomcat、mysql。
(注意:所有的安装yum都需要管理员权限)

1. 安装jdk

  1. 安装jdk有很多种方式,但是我们这里推荐的是使用yum直接安装openjdk。

① 之前在Windows上安装的是oracle官方的jdk,而openjdk是开源社区维护的开源版本。
② 虽然二者不同,但是功能是兼容的,差别不大
③ Linux上也可以安装官方jdk,但是比较麻烦

  1. 操作步骤:
    (保证云服务器是在联网状态下)
    yum list | grep jdk
    0

=> 实际要安装的是java-1.8.0-openjdk-devel.x86_64
1

① devel:即development的缩写,带这个后缀就说明是软件开发包
② x86_64:是指针对的是64位系统

=> yum install java-1.8.0-openjdk-devel.x86_64
2

=> 敲入y
3
=> 安装成功 并使用jacac 测试!
5

  1. 注:Linux上安装的软件是有指定的路径的。不是你指定目录下载,而是会自动有地方安排的

2. 安装tomcat

  1. yum list | grep tomcat => tomcat.noarch 是我们要安装的,但是发现其版本是7,这个版本有点低,我们要安装的是8系列的,那怎么办呢?
    直接将之前在Windows上下载的压缩包给拖到Linux上去就行!
    6

  2. 拖tomcat压缩包到Linux上

① tomcat是java写的跨平台程序,所以Windows或Linux都可以使用
② 注:Linux上不支持rar,最好使用zip!

① cd好目录,然后直接拖进去就会保存到该目录下!
(拖拽只能是单个文件!)

② 但是此时可能又会存在一个问题,拖不进去
原因:系统上少了一个rz命令
解决方法:使用 yum install lrzsz命令下载安装后就可以进行拖拽了(同样选y)。
5

如果此时还是无法拖拽,输入rz 并按下回车键,此时可以选择文件
6

=> 此时提示上传成功。如果存在乱码问题,就使用 rz -eb 回车进行文件的重传
7
8

(详细参考:rz上传)

  1. 需要使用unzip进行解压缩:
    unzip 文件名.zip
    10

如果没有unzip,则yum install unzip进行下载安装。

解压缩完成:
11

  1. 然后进入到解压缩之后的目录,再进入到bin目录后ll就可以看到熟悉的启动脚本。

12
(Windows是使用.bat, Linux是使用.sh

  1. 在bin目录中,需要给这些.sh文件加上可执行权限:chmod +x *.sh
    13

  2. 启动tomcat(在bin目录下):
    sh startup.sh
    15

  3. 【小结】:安装tomcat的步骤
    ① 下载压缩包(在Windows上)
    ② 上传压缩包zip给Linux(需要使用rz命令)
    ③ 解压缩(需要使用unzip命令)
    ④ 进入bin目录
    ⑤ 给启动脚本增加可执行权限chmod +x *.sh (这个操作一定要在bin目录下进行)

  4. 验证tomcat启动成功:
    ① 使用ps验证:ps aux | grep tomcat
    20

② 使用netsat -anp | grep 8080
21

如果没有启动成功,就去看下tomcat日志logs,看是否报错

③ 直接通过浏览器访问tomcat的欢迎页面:
外网IP:8080 (我这里就是140.210.201.164:8080)

但是可能会发现根本看不到tomcat欢迎页面
原因:“防火墙”或者“安全组”没有开启。
(这里的“防火墙”是云服务器的防火墙,和自身的Windows防火墙无关!)

如果是轻量云服务器,就修改“防火墙”,如果是ESC云服务器就修改“安全组”。(叫法不一样)

方法

不同云服务器操作可能略有差别,我这里是使用 华为云HESC

打开云服务器后台 => 更多 => 更改安全组(默认是Sys-WebServer) => Sys-WebServer中的配置规则 => 添加规则(端口号8080) => 确认 => 这里配置完成后才可以通过外网访问tomcat (点击确定之后,啥时候生效还不好说,快则立即,慢则几十分钟)
(可以参考:云服务器修改安全组)
25
26

27
(成功!)

【补充】
防火墙其实就是保护你的服务器不被黑客攻击,所以能不开启的端口尽量不要开启。


3. 安装mysql

  1. Linux 安装mysql也有很多种方式,我们也是使用最简单的一种,即使用yum安装mariadb

mariadb是mysql的孪生兄弟,二者是兼容的,咱们目前使用mariadb是完全够用的

  1. Centos安装mariadb参考:安装mariadb

  2. 步骤:
    ① yum安装必要的包:(4个安装或许会有依赖关系,如安装1后2、3已经安装完成)
    30

② 启动:
31

服务开启自启动可以不设置,可以手动启动(手动启动:systemctl start mariadb
33

③ 验证连接:mysql -uroot 以root用户来登录,默认密码为“”
35

④ 创建数据库时为了支持中文,统一使用 utf8mb4 字符集:
使用示例:
MariaDB [(none)]> create database demo_db charset utf8mb4;


小结

  1. 安装jdk:yum list | grep jdkyum install java-1.8.0-openjdk-devel.x86_64
  2. 安装tomcat:rzunzipchmod +x *.shsh startup.sh
  3. 验证tomcat启动成功的三种方式:ps aux | grep tomcatnetsat -anp | grep 8080、外网访问tomcat欢迎页(开启“安全组”、“防火墙”)
  4. 安装mysql:实际是安装mariadb

yyy

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

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

相关文章

Pandas处理大数据的性能优化技巧

Pandas是Python中最著名的数据分析工具。在处理数据集时,每个人都会使用到它。但是随着数据大小的增加,执行某些操作的某些方法会比其他方法花费更长的时间。所以了解和使用更快的方法非常重要,特别是在大型数据集中,本文将介绍一…

百趣代谢组学文献分享:《Food Function》发表过的封面文章

百趣代谢组学今日分享西北大学食品科学与工程学院曹炜教授团队在食品科学领域国际著名学术期刊《Food& Function》上发表封面文章:Effects of honey-extracted polyphenols on serum antioxidant capacity and metabolic phenotype in rats。该研究在国际上首次…

Springboot定时调度任务动态管理

前言 现在智能手表、手环,相信很多人都使用过,其中有一个功能,就是会有各种的提醒,如喝水提醒、运动提醒、远眺提醒,本质上根据用户的设置,间隔一定时间执行一个调度任务,提醒用户做某件事情。这…

myBaits Expert Human Affinities Kit ——捕获人类样本中的 SNPs 信息,化石、法医样本和降解 DNA 样本均适用

myBaits Expert Human Affinities Kit用于人类基因组SNPs富集,该试剂盒与古人类种群遗传学领域的专家合作设计和开发,针对古代和现代人类种群中已知的2M以上多态位点设计,特异性捕获人类基因组文库中标志性的有效信息,提高人类种群…

ardupilot EKF3核心算法《可以使用的传感器》

目录 文章目录 目录摘要1.可以使用的传感器2.可以使用的传感器如果从代码中提供原始数据2.1 IMU传感器提供的有用数据2.2地磁传感器提供的有用数据2.3 GPS传感器提供的有用数据2.4 气压计传感器提供的有用数据摘要 本节主要讲解Ardupilot EKF3核心算法《可以使用的传感器》。 …

java租房app房东直租系统租房网站

简介 本系统是前后端分离的项目,前端使用mui开发科打包成为安卓的apk。后端采用springboot开发。主要是房东登录注册后,可以发布房源信息,可以上架下架编辑删除房源信息等,租房者可以搜索自己需要的房子,然后进入详情…

Maven基础知识

第1章 Maven 介绍 1.1 什么是 Maven 1.1.1 什么是 Maven Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项…

代码随想录算法训练营第二天 java : 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,

文章目录Leecode977.有序数组的平方题目链接题目暴力解法双指针解法小结Leecode209.长度最小的子数组。题目连接题目难点 :滑动窗口Leecode59.螺旋矩阵II题目链接题目思路用到的变量代码总结今日收获Leecode977.有序数组的平方 题目链接 题目 给你一个按 非递减顺…

攻防世界-shrine

题目 访问题目场景 这个界面很乱奥,我们访问网页源代码,我们就能看见我们需要审计的源码了 我们把python源码复制下来,进行分析 import flask import osapp flask.Flask(__name__)app.config[FLAG] os.environ.pop(FLAG)app.route(/) def…

如何对企业内部进行知识内容有效性管理

企业内部文档管理版本的场景,如果日常没有比较好的工具进行内容控制,经常出现意外,有些意外很小、但是有些意外可能就伤筋动骨,例如标书里边的文件放错了,如果定性为串标,那么就非常严重了。JVS 企业文档管…

细刨进程状态,浅谈僵尸进程,孤儿进程,进程切换

文章目录进程状态宏观上操作系统层面上理解进程状态具体Linux操作系统的状态kill -19 pid :停止进程kill -18 pid :继续进程D(disk sleep)深度睡眠$和 $^僵尸状态和死亡状态僵尸进程孤儿进程进程优先级由此衍生出另外几个概念进程…

目标检测指标IOU和mAP

IOU(交并比) 交并比(loU)函数做的是计算两个边界框交集和并集之比。可以用来判断定位算法的好坏。 一般来说,IoU大于等于0.5,那么结果是可以接受的,就说检测正确。如果预测器和实际边界框完美重叠,loU就是…

HTML5中的FileReader对象

FileReader FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件。 方法 readAsArrayBuffer(file):void : 异步按字节读取文件内容,结果用ArrayBuffer对象表示readAsBinaryString(file):void : 异步按字…

重磅!中国电信物联网用户超4亿

近日,中国电信物联网发展规模取得新突破,物联网用户超4亿,物联网用户数超过移动电话用户数,全面迈入“物超人”时代。 “物超人”,即代表“物”的移动物联网终端用户数超出代表“人”的移动电话用户数。工信部公布的数…

591页22万字城市智慧应急指挥中心信息化设计方案

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除!完整资料领取见文末,部分资料内容: 目 录 第1章 项…

为有状态应用而生,云原生本地存储Carina正式进入CNCF沙箱

12月14日,云原生本地存储开源项目 Carina 通过了全球顶级开源基金会 CNCF 技术监督委员会(TOC)的评定,正式成为 CNCF 沙箱级项目(Sandbox Projects)。 Carina是由博云于2021年10月主导发起的云原生本地存储…

FISCO BCOS的PBFT共识算法流程详解

原文: https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/design/consensus/pbft.html PBFT模块主要包括PrepareReq、SignReq、CommitReq和ViewChangeReq四种共识消息: PrepareReqPacket: 包含区块的请求包,由leader产生并向所有Repl…

nacos mac

一.nacos的下载 进入官网:home 朝下翻 下载一点几版本的,2点几的已经停止更新了。 将下载好的文件放入一个没有中文名称的目录下 nacos目录: 二.nacos的启动与终止 打开终端,进入bin目录下 我的是: cd /Volumes/…

办公高效、生活便捷!海尔科创生态园启用

理想的工作环境应该是什么样子? 是高效的智慧办公,流畅的商务洽谈,快速的停车及通行…… 仅仅这些就够了吗?高效的数字化体验之外,还有浓浓的人性化关爱,健身设备齐全的员工服务中心、给哺乳妈妈们专设的…

LinkedList和ArrayList对比各有什么优势?

一、LinkedList的概述 1. LinkedList是双向链表实现的List 2. LinkedList是非线程安全的 3. LinkedList元素允许为null,允许重复元素 4. LinkedList是基于链表实现的,因此插入删除效率高,查找效率低(虽然有一个加速动作) 5. LinkedList是…