Linux安装常用的软件(jdk,MySQL,nginx)并完成对前后端项目的部署发布

linux软件安装:


    安装方式介绍:

        二进制发布包安装:
  • 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
        rpm安装:
  • 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
        yum安装:
  • 一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题

        源码编译安装:

软件以源码工程的形式发布,需要自己编译打包

    安装JDK:

        操作步骤:
  • 1,使用FinalShell自带的上传工具将要jdk,的二进制发布包上传到Linux。
  • 2,解压安装包,命令位 tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local
  • 3,配置环境变量,使用vim命令修改 /etc/profile文件,在文件末尾加入如下配置:export JAVA_HOME = /usr/local/jdk-21.0.1          export PATH=$JAVA_HOME/bin:$PATH
  • 4,重新加载profile文件,使更改的配置立即生效,命令为source /etc/profile
  • 5,检查安装是否成功,命令为java -version

把要安装的软件包上传到,Linux中。

cd ~ 进入到 root目录,然后,点击上传的按钮开始上传。

[root@bogon /]# cd ~
[root@bogon ~]# 
召唤底栏出现:

看下效果: 

隐藏底栏:

看下效果:

点击开始上传:

寻找文件: 

看一下过程:

 上传成功,点击刷新查看。

这次三个都看到了:

1,解压jdk安装包:
  • 执行如下指令,将上传上来的压缩包进行解压,并通过-C参数指定解压文件存放目录为 /usr/local。
tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/

代码:

[root@bogon ~]# ll
总用量 779004
-rw-------. 1 root root      1241 12月 29 21:29 anaconda-ks.cfg
-rw-r--r--. 1 root root 197226694 12月 29 21:32 jdk-21_linux-x64_bin.tar.gz
-rw-r--r--. 1 root root 599400444 12月 29 21:32 mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
-rw-r--r--. 1 root root   1062124 12月 29 21:32 nginx-1.20.2.tar.gz
[root@bogon ~]# tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/

 解压成功:

到 /usr/local目录查看:

[root@bogon ~]# cd /usr/local
[root@bogon local]# ll
总用量 0
drwxr-xr-x. 2 root root   6 4月  11 2018 bin
drwxr-xr-x. 2 root root   6 4月  11 2018 etc
drwxr-xr-x. 2 root root   6 4月  11 2018 games
drwxr-xr-x. 2 root root   6 4月  11 2018 include
drwxr-xr-x. 9 root root 136 12月 29 21:34 jdk-21.0.1
drwxr-xr-x. 2 root root   6 4月  11 2018 lib
drwxr-xr-x. 2 root root   6 4月  11 2018 lib64
drwxr-xr-x. 2 root root   6 4月  11 2018 libexec
drwxr-xr-x. 2 root root   6 4月  11 2018 sbin
drwxr-xr-x. 5 root root  49 12月 29 21:25 share
drwxr-xr-x. 2 root root   6 4月  11 2018 src
[root@bogon local]# 

2, 配置环境变量:

使用vim命令修改/etc/profile文件,在文件末尾加入如下配置

具体操作如下:

1). 编辑/etc/profile文件,进入命令模式
    vim /etc/profile

2). 在命令模式中,输入指令 G , 切换到文件最后
    G

3). 在命令模式中输入 i/a/o 进入插入模式,然后切换到文件最后一行
    i

4). 将上述的配置拷贝到文件中
    export JAVA_HOME=/usr/local/jdk-21.0.1
    export PATH=$JAVA_HOME/bin:$PATH

    
5). 从插入模式,切换到指令模式
    ESC
    
6). 按:进入底行模式,然后输入wq,回车保存
    :wq

export JAVA_HOME=/usr/local/jdk-21.0.1
export PATH=$JAVA_HOME/bin:$PATH

使用vim开始编辑:

[root@bogon local]# vim /etc/profile

成功进入:

进入插入模式:

配置jdk:

	export JAVA_HOME=/usr/local/jdk-21.0.1export PATH=$JAVA_HOME/bin:$PATH

进入命令行模式:

进入低行模式,输入 wq保存并退出:

3,重新加载profile文件:

为了使更改的配置立即生效,需要重新加载profile文件,执行命令:

source /etc/profile

重新加载:

[root@bogon /]# source /etc/profile
[root@bogon /]# 
4,检查安装是否成功:

和window里面检查方式一样:

java -version
    
[root@bogon /]# source /etc/profile
[root@bogon /]# java -version
java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)
[root@bogon /]# 
安装MySQL:
1,准备工作:
  • 在安装MySQL数据库之前,我们需要先检查一下当前Linux系统中,是否安装的有MySQL的相关服务(很多linux安装完毕之后,自带了低版本的mysql的依赖包),如果有,先需要卸载掉,然后再进行安装。

A. 通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

rpm -qa                            查询当前系统中安装的所有软件
rpm -qa | grep mysql             查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb             查询当前系统中安装的名称带mariadb的软件 

  •   通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。
  • 通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

RPM介绍:

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。

[root@bogon /]# rpm -qa | grep mysql
[root@bogon /]# 
[root@bogon /]# rpm -qa | grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@bogon /]# 

查到了一个 mariadb数据库,进行删除。


    
    安装Nginx:

项目部署:
 

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

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

相关文章

简单了解SQL宽字节注入与httpXFF头注入(基于sqllabs演示)

1、宽字节注入 sqllabs-less-32为例 使用单引号进行测试 提示我们输入的单引号被转义符 \ 进行了转义,即转义符自动的出现在输入的特殊字符前面,这是防止sql注入的一种方法,导致无法产生报错。 这种情况我们就可以尝试宽字节注入&#xff…

【洛谷】高考组题

高考组题 题目链接 题意 告诉 Aya 哪个题目是必须要放进高考试卷的 思路 需要用结构体来对题目的编号和指标和关系进行了解,在主函数中用sort排序来对题目的指标和来进行排序 ,最后输出题目的编号即可,要用换行符号 实现步骤 定义所需值输入…

抓取数据技巧全解析

1.什么是爬虫 爬虫(Spider),也叫网络蜘蛛(Web Spider),是一种模拟人类浏览器行为,自动访问互联网并提取数据的程序。简单来说,就是通过编写程序去自动化地访问网站,并从…

js 判断值 对象 是否存在 包含 的各种方式

1.判断两个值是否相等 let v1,x2,s1; object.is(v,x) //false object.is(v,s) //true 2.判断对象中是否包含某个键 let tt{xx:123,cc:3}; tt.xxd; tt.hasOwnProperty(xx); //true tt.hasOwnProperty(xxd);//true tt.hasOwnProperty(hasOwnProperty); //判断是否有继承…

Android NDK打包armeabi平台架包

NDK打包armeabi 1.降低NDK版本和Cmake版本 sdk.dirE\:\\Android\\sdk //指定ndk版本,不指定默认使用最新的NDK ndk.dirE\:\\Android\\sdk\\ndk\\16.1.4479499修改builde.gradle(app) android{defaultConfig{...//配置 AS 工程的 C/C 源文件编译参数externalNativ…

网络通讯基础(9):connect ()函数

connect ()函数 1.什么是connect 函数&#xff1f;作用是什么&#xff1f; connect 是一个常用于网络编程的函数&#xff0c;它通常用于建立客户端和服务器之间的连接。要想使用connect 函数&#xff0c;需要包含如下头文件&#xff1a; #include <sys/types. h> #inc…

市场复盘总结 20231229

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整 昨日回顾: -- 今日 SELECT * FROM (SELECT TOP 100 CODE,20231229 入选日期,成交额排名,净流入排名,代码,名称,DDE大单金额,涨幅,主力净额,DDE大单净量,CONVERT(DATETIM…

工厂方法?按图索骥!

前言 还记得在第3节的简单工厂模式&#xff0c;我们实现了一个简易计算器。简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断&#xff0c;根据客户端的选择条件动态实例化相关类&#xff0c;去除了与具体运算类的依赖。 但其问题也就在这里&#xff0c;如果要加一个‘…

SparkCore

一、RDD详解 1.1 什么是RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,代表一个不可变、可分区、里面的元素可并行计算的集合。 Dataset:一个数据集合,用于存放数据的。Distributed:RDD中的数据是分布式存储的,可用于分布式…

vue连接本地服务器

vue 连接本地服务器做后端。 后端服务 使用springboot新建一个基于restful的接口&#xff0c;访问如下的地址&#xff0c;返回值。 vue构建 新建一个vue项目&#xff0c;安装访问服务器的插件。 npm install axios vue-axios --save 修改main.js使用axios&#xff0c;最终…

Mybatis插件入门

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

Ubuntu - VMware Workstation 常用快捷键

Ctrl Alt T&#xff1a;打开终端窗口。 Ctrl Shift W &#xff1a;关闭终端窗口。 Ctrl L&#xff1a; 清屏终端窗口 Ctrl Alt L&#xff1a;锁定屏幕。 Alt Tab&#xff1a;切换应用程序。 Alt F2&#xff1a;打开运行命令对话框。 Ctrl Alt Arrow&#xff0…

GPT4All : 便捷易用的本地智能问答推理软件(乱记)

安装与使用 去官网 https://gpt4all.io/index.html下载可执行文件。 打开应用即可看到是否共享数据的选项&#xff1a; 然后自动进入模型下载界面 测试 内存占用 缺点&#xff1a;在我本地的轻薄本上运行时&#xff0c;风扇会有轻微噪声&#xff0c;关闭软件很久都没停止。…

校准算法的处理

校准算法是用于校准设备或系统的方法和计算。这涉及到消除误差和校准输出以实现准确性和可靠性的技术。具体的方法如下&#xff1a; 确定校准目标&#xff1a;首先&#xff0c;确定您希望校准的具体参数或指标&#xff0c;例如温度、压力、电流、电压等。收集数据&#xff1a;…

《深入理解JAVA虚拟机笔记》运行时栈帧、方法分派、动态类型

运行时栈帧结构 Java 虚拟机以方法作为最基本的执行单元&#xff0c;“栈帧”&#xff08;Stack Frame&#xff09;则是用于支持虚拟机进行方法调用和方法执行背后的数据结构&#xff0c;它也是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈…

【教学类-43-04】20231229 N宫格数独4.0(n=2,4,6,8) (ChatGPT AI对话大师生成 回溯算法)

作品展示&#xff1a; 背景需求&#xff1a; 幼儿表示自己适合做5宫格 第一次AI生成九宫格数独python代码 【教学类-43-03】20231229 N宫格数独3.0&#xff08;n1、2、3、4、6、8、9&#xff09; &#xff08;ChatGPT AI对话大师生成&#xff09;-CSDN博客文章浏览阅读162次&…

代码随想Day52 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

300.最长递增子序列 这道题目的重点在于动态数组的定义 dp[i]&#xff1a;以nums[i]为结尾的最长递增子序列&#xff0c;因为这样定义可以进行递推&#xff1b; 递推&#xff1a;j从0-i进行对比&#xff0c;如果nums[i]大于nums[j]&#xff0c;dp[i]dp[j]1&#xff1b; 初始化…

CSS3学习之01

box-sizing: border-box&#xff1a;width是整体的大小 content-box&#xff1a;width是内容区大小 flex box弹性布局 弹性布局子元素通常在同一行内显示。 flex-direction&#xff1a;布局内子元素的排列方式 row&#xff1a;默认从左到右 row-reverse&#xff1a;从右到…

用例状态

章节目录&#xff1a; 一、用例状态类型二、passed三、failed四、error五、xfail六、结束语 一、用例状态类型 用例执行完成后&#xff0c;每条用例都有自己的状态&#xff0c;常见的状态有&#xff1a; passed&#xff1a;测试通过。failed&#xff1a;断言失败。error&#x…

【二叉树】【DFS】104.二叉树的最大深度

题目 法1&#xff1a;DFS class Solution {public int maxDepth(TreeNode root) {if (root null) {return 0;} else if (root.left null && root.right null) {return 1;} else {return Math.max(maxDepth(root.left), maxDepth(root.right)) 1;}} }