后端Linux软件安装大全[JDK、Tomcat、MySQL、Irzsz、Git、Maven、Redis、Nginx...持续更新中]
文章目录
- 前言
- 1.软件安装方式
- 2.安装jdk
- 3.安装Tomcat
- 4.安装MySQL
- 5.安装lrzsz
- 6. 安装Git
- 7. 安装Maven
- 8. 安装Redis
- 9. 安装Nginx
- 总结
前言
为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)
1.软件安装方式
- 二进制发布包安装
软件已经针对具体平台编译打包发布,只要解压,修改配置即可
- rpm安装
软件已经按照redhat的包管理规范进行打包,使用- rpm命令进行安装,不能自行解决库依赖问题
- yum安装
一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
- 源码编译安装
软件以源码工程的形式发布,需要自己编译打包
2.安装jdk
1. 使用 FinalShell 自带的上传工具将 jdk 的二进制发布包 【jdk-8u171-linux-x64.tar.gz】

2. 解压安装包,命令为 tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local

3. 配置环境变量,使用 vim 命令(需要安装vim,安装命令为:yum install vim)修改 /etc/profile 文件,在文件末尾加入如下配置
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$ JAVA_HOME/bin:$PATH
注 :PATH=$ JAVA HOME/bin:$PATH 中 $ 和 J 之间没有空格,此处是由于MD语法显示问题空一格

4. 重新加载 profile 文件,使更改的配置立即生效,命令为 source /etc/profile
5. 检查安装是否成功,命令为 java -version

3.安装Tomcat
1. 使用Finalshell自带的上传工具将Tomcat的二进制发布包 【apache-tomcat-7.0.57.tar.gz】上传到Linux

2. 解压安装包,命令为 tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local

3. 进入Tomcat的bin目录启动服务,命令为 sh startup.sh 或者 ./startup.sh

4. 验证Tomcat启动是否成功,有多种方式
- 查看启动日志
- more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
- tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out

- 查看进程 ps -ef | grep tomcat
- ps 命令是 linux 下非常强大的进程查看命令,通过 ps -ef 可以查看当前运行的所有进程的详细信息
- “|” 在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
- 使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程

5. Linux防火墙
- 访问 tomcat 端口,我们发现 tomcat 正常运行但是无法访问,这涉及到了 Linux 防火墙的问题

- 防火墙操作:
- 查看防火墙状态 ( systemctl status firewalld、firewall-cmd --state )

- 暂时关闭防火墙 ( systemctl stop firewalld )


- 永久关闭防火墙 ( systemctl disable firewalld )

- 开启防火墙 ( systemctl start firewalld )

- 开放指定端口 ( firewall-cmd --zone=public --add-port=8080/tcp --permanent )

- 关闭指定端口 ( firewall-cmd --zone=public --remove-port=8080/tcp --permanent )

- 立即生效 ( firewall-cmd --reload )
- 查看开放的端口 ( firewall-cmd --zone=public --list-ports )

- 注意:
- systemctl 是管理 Linux 中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
- firewall-cmd 是 Linux 中专门用于控制防火墙的命令
- 为了保证系统安全,服务器的防火墙不建议关闭
6. 停止Tomcat服务的方式
- 运行Tomcat的bin目录中提供的停止服务的脚本文件
sh shutdown.sh
./shutdown.sh

- 结束Tomcat进程

- 查看 Tomcat 进程,获得进程id
- 执行命令结束进程 kill -9 71378
注意 :kill 命令是 Linux 提供的用于结束进程的命令,-9 表示强制结束
4.安装MySQL
1. 检测当前系统中是否安装MySQL数据库
- RPM (Red-Hat Package Manager)RPM软件包管理器,是红帽Linux用于管理和安装软件的工具
- rpm -qa ---- 查询当前系统中安装的所有软件
- rpm -qa | grep mysql ---- 查询当前系统中安装的名称带mysql的软件
- 如果当前系统中已经安装有MySOL数据库,安装将失败。CentOs7自带mariadb,与MySQL数据库冲突
- rpm -qa | grep mariadb ---- 查询当前系统中安装的名称带mariadb的软件

2. 卸载已经安装的冲突软件
- 格式 :rpm -e --nodeps 软件名称
- 举例 :rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

3. 将资料中提供的MySQL安装包上传到Linux并解压
- mkdir /usr/local/mysql
- tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql


说明 :解压后得到6个rpm的安装包文件
4. 按照顺序安装rpm软件包
- 安装rpm软件包的顺序
- rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
- rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
- rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
- rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
- rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
- yum install net-tools
- rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm


- 说明
- 说明1 :安装过程中提示缺少net-tools依赖,使用yum安装
- 说明2 :可以通过指令升级现有软件及系统内核
- yum update

5. 启动mysql
- systemctl status mysqld ---- 查看 mysql 服务状态
- systemctl start mysqld ---- 启动 mysql 服务

- systemctl enable mysqld ---- 开机启动 mysql 服务
- netstat -tunlp ---- 查看已经启动的服务
- netstat -tunlp | grep mysql ---- 查看mysql启动服务
- ps -ef | grep mysql ---- 查看 mysql 进程

说明:可以设置开机时启动mysql服务,避免每次开机启动mysql
6. 登录MySQL数据库,查阅临时密码
- cat /var/log/mysqld.log ---- 查看文件内容
- cat /var/log/mysqld.log | grep password ---- 查看文件内容中包含password的行信息

冒号后面的是密码,注意空格
7. 登录MySQL,修改密码,开放访问权限
- mysql -uroot -p 登录mysql(使用临时密码登录)

#修改密码
2. set global validate_password_length=4; ---- 设置密码长度最低位数
3. set global validate_password_policy=LOW; ---- 设置密码安全等级低,便于密码可以修改成root
4. set password = password(‘root’); ---- 设置密码为root

#开启访问权限
5. grant all on * . * to ‘root’@‘%’ identified by ‘root’;
6. flush privileges;

* . * 中 * 和 . 符号之间没有空格,此处由于MD语法显示问题空一格
8. 测试MySQL数据库是否正常工作
show databases;
- Linux内部连接

- windows外部连接

5.安装lrzsz
- 搜索 lrzsz(文件上传下载)安装包,命令为 yum list lrzsz

- 使用yum命令在线安装,命令为 yum install lrzsz.x86_64

- 注意事项 :
Yum(全称为 Yellow dog Updater,Modified)是一个在Fedora和RedHat以及CentOs中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
- 效果分析 :输入命令 rz,回车,实现从 windows 上传文件到 linux 的功能(并不是所有的 SSH 连接工具都有 finalshell 自带的文件上传功能)

6. 安装Git
- 安装git的指令
- yum list git ---- 列出git安装包
- yum install git ---- 在线安装git

- 使用Git克隆远程仓库代码查看效果
- cd /usr/local/
- git clone https://gitee.com/Dongli_01/re_boot.git

7. 安装Maven
1. 将maven安装包上传到Linux

2. 解压安装包
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

3. 在Linux中配置maven环境
- vim /etc/profile ---- 修改配置文件,加入如下内容
- export MAVEN_HOME=/usr/local/apache-maven-3.5.4
- export PATH=$ JAVA_HOME/bin:$ MAVEN_HOME/bin:$PATH
$ JAVA 和 $ MAVEN 中的 $ 和 J、M之间没有空格,此处是由于MD语法显示问题空一格

4. 加载资源,查看maven版本
- source /etc/profile
- mvn -version

5. 设置一下 setting 文件,指定 maven 本地仓库的目录(repo目录需要自己创建)
- vim /usr/local/apache-maven-3.5.4/conf/settings.xml
- < localRepository>/usr/local/repo</ localRepository> ---- 修改配置文件内容
注:< localRepository> 中的 < 和 l 以及 </ localRepository> 中的 / 和 l 之间没有空格,此处是由于MD语法问题空一格

8. 安装Redis
1. Redis安装包下载地址
Linux版下载地址: https://download.redis.io/releases/
2. 将 Redis 安装包上传到 Linux

3. 解压安装包,命令:tar -zxvf redis-4.0.0.tar.gz -C /usr/local

4. 安装Redis的依赖环境gcc,命令: yum install gcc-c++

5. 进入 /usr/local/redis-4.0.0,进行编译,命令: make

6. 进入 redis 的 src 目录,进行安装,命令:make install

7. 启动 Redis 服务

8. 连接Redis服务

9. Redis服务优化
- ctrl + c 关闭服务
- 修改 Redis 的配置文件

10. 重启Redis服务

11. 开启 redis 密码校验并在 redis.conf 配置文件中修改默认密码

12. 关闭 redis 进程,再次重启 redis 服务,使用密码登录

13. 安装好 windows 端的 redis 后,在 windows 远程连接 linux 端的redis 服务

14. 修改 redis 的配置文件 redis.conf

15. 重启 redis 服务

16. 再次尝试windows 远程连接 linux 端的redis 服务

9. 安装Nginx
- 安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

- 通过linux命令下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz 或者通过客户端下载


- 解压 tar -zxvf nginx-1.16.1.tar.gz

- cd nginx-1.16.1

- ./configure --prefix=/usr/local/nginx

- make && make install

- 认识Nginx目录结构
- conf/nginx.conf ---- nginx配置文件
- html ---- 存放静态文件 (html、CSS、Js等)
- logs ---- 日志目录,存放日志文件
- sbin/nginx ---- 二进制文件,用于启动、停止Nginx服务

- 查看Nginx版本可以使用命令 ./nginx -V

- 检查配置文件正确性 ---- ./nginx -t ---- 在启动Nqinx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

- 启动Nginx服务使用如下命令 ./nginx
- 停止Nginx服务使用如下命令 ./nginx -s stop
- 启动完成后可以查看Nginx进程 ps -ef | grep nginx

- 重新加载配置文件 ./nginx -s reload

总结
欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)
相关文章:
后端Linux软件安装大全[JDK、Tomcat、MySQL、Irzsz、Git、Maven、Redis、Nginx...持续更新中]
文章目录 前言1.软件安装方式2.安装jdk3.安装Tomcat4.安装MySQL5.安装lrzsz6. 安装Git7. 安装Maven8. 安装Redis9. 安装Nginx 总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新…...
C++ Dijkstra 最短路径求解算法的两种实现方案
迪杰斯特拉算法(Diikstra) 是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。 核心思想,搜索到某一个顶点后,更新与其相邻顶点的权重。顶点权重的数据含义表示从起始点到此点的最短路径长度(也就是经过的…...
因存在色情内容,夸克被罚50万元
媒体经济的繁荣、自媒体、直播等各种形式的信息传播疯狂发展,但是各种形式的信息资源大规模生产时,“色情”,“暴力”的图像和视频不可控的滋生,特别是某些 APP 或浏览器。一旦打开,满屏都是“哥哥,快来啊”…...
汽车EDI:福特Ford EDI项目案例
项目背景 福特(Ford)是世界著名的汽车品牌,为美国福特汽车公司(Ford Motor Company)旗下的众多品牌之一。此前的文章福特FORD EDI需求分析中,我们已经了解了福特Ford EDI 的大致需求,本文将会介…...
正则表达式的使用实例
正则表达式的使用实例 1- 表示2- 实例 1- 表示 1, [:digit:] 表示0-9全部十个数字 //等价于 0123456789, 而不等价于[0123456789] 2, [[:digit:]] 表示任意一个数字 \{m,n\} 表示其前面的字符出现最少m次,最多n次的情况 \{3,\} 其前面的字符出…...
STM智能小车——OLED实现测速小车
目录 1. 测速模块 2. 测试原理和单位换算 3. 定时器和中断实现测速开发和调试代码 4. 小车速度显示在OLED屏 1. 测速模块 用途:广泛用于电机转速检测,脉冲计数,位置限位等。有遮挡,输出高电平;无遮挡,输出低电平接线…...
pod基本概念
目录 pod基本概念 pause容器 Pod分类: Pod容器的分类 1、基础容器(infrastructure container) 2、初始化容器(initcontainers) 3、应用容器(Maincontainer) 镜像拉取策略(im…...
SQL Server 中定时调度调用存储过程
要在SQL中定时调度调用存储过程,你可以使用SQL Server代理(如果你正在使用SQL Server数据库)。下面是一些步骤来配置SQL Server代理以定时调度调用存储过程: 打开SQL Server Management Studio (SSMS) 并连接到你的SQL Server实例…...
SpringCloud(三) Ribbon负载均衡
SpringCloud(二) Eureka注册中心的使用-CSDN博客 在SpringCloud(二)中学习了如何通过Eureka实现服务的注册和发送,从而通过RestTemplate实现不同微服务之间的调用,加上LoadBalance注解之后实现负载均衡,那负载均衡的原理是什么呢? 目录 一, 负载均衡 1.1 负载均衡原理 1.2 源…...
vue2:路由前置守卫无法获取到this.$store.state.xxx
在获取到vuex的数据时候,想在router目录下的index.js文件去获取到vuex仓库中声明的全局变量,但是通过this.$store.stote.xxx去获取的时候,报错提示:$store未定义 一、store/index.js const store new Vuex.Store({state: {// 属…...
Unity的碰撞检测(五)
温馨提示:本文基于前一篇“Unity的碰撞检测(四)”继续探讨两个游戏对象具备刚体的BodyType均为Dynamic,但是Collision Detection属性不同的碰撞检测,阅读本文则默认已阅读前文。 (一)测试说明 在基于两…...
Flutter笔记:Flutter的应用生命周期状态(lifecycleState)管理
Flutter笔记 Flutter的应用生命周期状态(lifecycleState)管理 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/…...
代碼隨想錄算法訓練營|第五十四天|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组。刷题心得(c++)
讀題 300.最长递增子序列 看完代码随想录之后的想法 思想上很簡單,dp[i]表示i之前的包括i的numbers[i]節尾的最長上升子序列的長度 並且透過兩層迴圈,一層遍歷全部,一層遍歷到i,透過比較當前dp[i]還是dp[j] 1哪個比較大&…...
正点原子嵌入式linux驱动开发——Linux 串口RS232/485/GPS 驱动
串口是很常用的一个外设,在Linux下通常通过串口和其他设备或传感器进行通信,根据 电平的不同,串口分为TTL和RS232。不管是什么样的接口电平,其驱动程序都是一样的,通过外接RS485这样的芯片就可以将串口转换为RS485信号…...
HDFS工作流程和机制
HDFS写数据流程(上传文件) 核心概念--Pipeline管道 HDFS在上传文件写数据过程中采用的一种传输方式。 线性传输:客户端将数据写入第一个数据节点,第一个数据节点保存数据之后再将快复制到第二个节点,第二节点复制给…...
CMMI/ASPICE认证咨询及工具服务
服务概述 质量专家戴明博士的名言“如果你不能描述做事情的过程,那么你不知道你在做什么”。过程是连接有能力的工程师和先进技术的纽带,因此产品开发过程直接决定了产品的质量和研发的效率。 经纬恒润可结合多体系要求,如IATF16949\ISO26262…...
【NI-DAQmx入门】计数器
1.计数器的作用 NI产品的计数器一般来说兼容TTL信号,定义如下:0-0.8V为逻辑低电平,2~5V为高电平,0.8-2V为高阻态,最大上升下降时间为50ns。 计数器可以感测上升沿(从逻辑低到逻辑高的转变)和下降…...
Python爬取读书网的图片链接和书名并保存在数据库中
一个比较基础且常见的爬虫,写下来用于记录和巩固相关知识。 一、前置条件 本项目采用scrapy框架进行爬取,需要提前安装 pip install scrapy# 国内镜像 pip install scrapy -i https://pypi.douban.com/simple 由于需要保存数据到数据库,因…...
js解决加油站
在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost &…...
【c++|opencv】二、灰度变换和空间滤波---5.中值滤波
every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 1. 中值滤波 #include<iostream> #include<opencv2/opencv.hpp> #include"Salt.h"using namespace cv; using namespace std;voi…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
