Linux软件安装

软件安装

安装软件的方式

软件的安装方式

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

Windows操作系统安装软件一般分为两种方式

  • 下载安装包自行安装: win系统使用exe文件、msi文件等, mac系统使用dmg文件、pkg文件等
  • 系统的应用商店内安装: win系统有Microsoft Store商店, mac系统有AppStore商店

Linux系统同样支持这两种方式,Linux命令行内的”应用商店”是通过yum命令安装软件

  • yum是CentOS系统的RPM包软件管理器,用于自动化安装配置Linux软件并可以自动解决依赖问题(如果A软件依赖B软件,那么安装A软件时必须有B软件)
  • apt是Ubuntu系统的deb包软件管理器,功能都一样

yum [-y] [install 或 remove 或 search] 软件名称 : 用于自动化安装配置Linux软件

  • -y选项:表示自动确认,无需手动确认安装或卸载过程
  • install表示安装软件, remove表示卸载软件, search表示搜索软件安装包
  • 执行yum命令需要root权限(可以su切换到root或使用sudo授权),并且需要联网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ygpx53g-1691241020916)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1688651943452.png)]

apt [-y] [install 或 remove 或 search] 软件名称 : 用法和yum一致,同样需要root权限

#安装wget
apt install wget
#移除wget
apt remove wget
#搜索wget
apt search wget

MySQL数据库安装

MySQL数据库管理系统是一款知名的数据库系统,其特点是:轻量、简单、功能丰富, 应用于后端开发、大数据、AI、运维、测试等各类岗位

MySQL5.7版本安装

rpm -qa: 检测当前系统中安装的所有软件,配合过滤命令可以查看当前系统中是否安装了某软件

  • rpm -qa | grep mariadb(查询当前系统中安装的名称带mariadb的软件), CentOS7自带的mariadb与MySQL数据库冲突导致安装失败

rpm -e --nodeps mariadb-libs-5.5.xx-1.el7.x86_64: 卸载自带的mariadb软件

  • RPM (Red-Hat Package Manager)RPM软件包管理器, 是红帽Linux用于管理和安装软件的工具,所以Centos系统也可以使用

第一步配置yum仓库: 由于MySQL并不在CentOS的官方仓库中,所以我们需要通过rpm命令导入MySQL仓库的密钥并配置MySQLQ的yum仓库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

image-20221012182514865

第二步: 切换到root用户, 使用yum命令安装MySQL,安装操作需要root权限

# yum安装Mysql
yum -y install mysql-community-server

第三步:MySQL安装完成后会自动配置为名称叫做mysqld的服务,可以被systemctl所管理

  • 如果在查看MySQL服务状态时出现了问题,请查看3306端口是否被占用
# MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
# 启动MySQL服务并配置开机自启动
systemctl start mysqld		# 启动
systemctl enable mysqld		# 开机自启
# 检查MySQL的运行状态
systemctl status mysqld

第四步:主要配置管理员用户root的密码以及配置允许远程登录的权限

  • 过滤MySQL日志文件的关键字获取初始密码: grep 'temporary password' /var/log/mysqld.log

image-20221012182744115

第五步: 执行命令登陆MySQL数据库系统mysql -uroot -p(粘贴密码)

  • -u表示登陆的用户,MySQL数据库的管理员用户同Linux一样都是root
  • -p表示使用密码登陆

image-20221012182805966

第六步: 在mysql内执行命令修改root用户密码,注意mysql的命令是不见分号不结尾

-- 直接设置密码需要符合规范大于8位,有大写字母,有特殊符号
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';	-- 配置root的简单密码需要降低Mysql的密码安全级别
set global validate_password_policy=LOW; # 密码安全级别低
set global validate_password_length=4;	 # 密码长度最低4位即可
ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
set password = password('简单密码');

第七步: 配置root运行远程登录,由于root远程登录会带来安全风险, 默认情况下要求root用户必须在MySQL服务所在的Linux服务器登陆MySQL系统

  • 使用Navicat或者SQLyog就可以连接到我们的数据库了,主机名就是ip地址,用户名和密码就是刚刚设置的(对3306端口要放行)
-- IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
-- 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同
grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;  
flush privileges;-- 刷新权限,生效

第八步: 退出MySQL控制台页面exit或快捷键ctrl + d

# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新载入防火墙规则使其生效
firewall-cmd --reload								

JDK安装

安装步骤

第一步: 在Oracle官网登录账号下载Linux系统的JDK,如果没有Oracle账户可以免费注册

  • 也可以使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeRSs9jm-1691241020918)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1690964640721.png)]

第二步: 登陆Linux系统切换到root用户解压安装包到usr/local目录下tar -zxvf jdk-8uxxx-linux-x64.tar.gz -C /usr/local

  • 也可以配置JDK的软链接也放到该目录下,在环境变量中使用软连接代替本体: ln -s /usr/local/jdk1.8.0_xxx /usr/local/jdk
  • 如果不是最小安装的Linux系统可能会自带Java程序,此时可以删除自带的防止冲突
# 删除系统自带的java程序
rm -f /usr/bin/java
# 软链接我们自己安装的java程序(此时可以不用配置环境变量)
ln -s /usr/local/jdk/bin/java /usr/bin/java

第三步: vi /etc/profile文件, 配置JAVA_HOME环境变量并将$JAVA_HOME/bin文件夹加入到PATH环境变量中

# 编辑/etc/profile文件
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin# 以追加的方式向/etc/profile文件写入内容
echo 'JAVA_HOME=/usr/local/jdk1.8.0_171' >> /etc/profile
echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile

第四步:source /etc/profile重新加载profile文件,使更改的配置立即生效

第五步检查安装是否成功: java -version

[root@localhost local]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Tomcat安装部署

Tomcat是由Apache开发的一个Servlet容器实现了对Servlet和JSP的支持, 并提供了作为Web服务器的特有功能,如管理和控制平台,全域管理和Tomcat阀等

  • Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序变成可以被访问的网页

安装步骤

Tomcat的安装非常简单主要分为2部分: 先安装JDK环境, 然后解压并安装Tomcat(建议使用非Root用户安装并启动)

第一步: CentOS系统默认开启了防火墙用来阻止外部网络流量访问系统内部,如果想要Tomcat可以正常使用需要对Tomcat默认使用的8080端口进行放行

  • 使用systemctl管理服务命令直接关闭防火墙(可以对服务进行启动,停止,重启,查看状态等),但为了保证系统安全,服务器的防火墙一般不建议关闭
  • 使用firewall-cmdLinux中专门用于控制防火墙的命令(显示简洁), 可以配置防火墙规则端只开放指定的端口
#查看防火墙状态
systemctl status firewalld或firewall-cmd --state# 方式1:关闭防火墙
systemctl stop firewalld		# 暂时关闭防火墙
systemctl disable firewalld		# 停止防火墙开机自启(永久关闭)# 开放指定端口,--add-port=8080/tcp表示放行8080端口的tcp访问,--permanent表示永久生效
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新载入防火墙规则使其生效
firewall-cmd --reload								
# 关闭指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent# 查看开放的端口
firewall-cmd --zone=public --list-ports

第二步:使用root用户创建tomcat用户专门用来部署

# 使用root用户操作
useradd tomcat
# 可选,为tomcat用户配置密码
passwd tomcat

第三步: 使用wget命令在Linux内下载Tomcat安装包,也可以复制下载链接在Windows系统中使用迅雷等软件加速下载然后上传到Linux内

# 使用root用户操作
wget https://dlcdn.apache.org/tomcat/tomcat-x/版本号/bin/apache-tomcat-x.x.x.tar.gz
# 如果出现https相关错误,可以使用--no-check-certificate选项
wget --no-check-certificate  https://dlcdn.apache.org/tomcat/tomcat-x/版本号/bin/apache-tomcat-x.x.x.tar.gz

第四步: 解压自己下载/上传的Tomcat安装包(非root用户无权限解压到HOME目录以外的目录)tar -zxvf apache-tomcat-x.x.x.tar.gz-C /usr/local

  • 使用root用创建Tomcat安装目录的软连接,然后修改Tomcat安装目录权限为tomcat用户
# 创建软连接
ln -s /usr/local/apache-tomcat-x.x.x /usr/local/tomcat
# 对tomcat安装文件夹的权限进行修改,使用通配符*进行匹配文件
chown -R tomcat:tomcat /usr/local/*tomcat*

第五步: 切换到tomcat用户su - tomcat, 执行Tomcat的bin目录下的startup.sh/shutdowno.sh脚本文件启动/关闭tomcat

[root@localhost] sh /usr/local/apache-tomcat-x.x.x/bin/startup.sh/shutdowno.sh

第六步: 验证Tomcat是否启动成功有很多种方式

# 查看端口号的占用情况
netstat -anp | grep 8080# 查看进程
ps -ef | grep tomcat
root      71967      1  4 16:05 pts/0    00:00:02 /usr/local/jdk1.8.0_171/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-7.0.57/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/apache-tomcat-7.0.57/endorsed -classpath /usr/local/apache-tomcat-7.0.57/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.57/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache-tomcat-7.0.57 -Dcatalina.home=/usr/local/apache-tomcat-7.0.57 -Djava.io.tmpdir=/usr/local/apache-tomcat-7.0.57/temp org.apache.catalina.startup.Bootstrap start
root      73174  42704  0 16:06 pts/0    00:00:00 grep --color=auto tomcat# 查看tomcat日志
more /usr/local/ apache-tomcat-7.0.57/logs/catalina.out
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out#结束Tomcat进程(等价于关闭)
kill -9 Tomcat的进程id

第七步: 打开浏览器输入http://主机的IP地址或配置好的主机名映射:8080访问Tomcat的WEB页面

image-20221017223915498

安装Git和Maven

安装Git

在Linux中安装Git

# 列出git安装包
yum list git
# 在线安装git
yum install git

安装Maven

在Linux解压Maven的安装包到/usr/local目录下

tar zxvf apache-maven-x.x.x-bin.tar.gz -C /usr/local

编辑配置文件vi /etc/profile配置Maven到环境变量中,source /etc/profile使配置文件生效

export MAVEN_HOME=/usr/local/apache-maven-x.x.x
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

验证Maven是否安装成功

[root@CentOs etc] mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)
Maven home: /usr/local/apache-maven-3.8.8
Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_212/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1062.el7.x86_64", arch: "amd64", family: "unix"

编辑Maven的配置文件vim /usr/local/apache-maven-x.x.x/conf/settings.xml, 配置Maven仓库的位置到mkdir /usr/local/repo

# 创建仓库
mkdir /usr/local/repo
# 在settings标签下加上这句话设置仓库位置
<localRepository>/usr/local/repo</localRepository>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-95YBJhtx-1691241020920)(C:\Users\meng\AppData\Roaming\Typora\typora-user-images\1691134597117.png)]

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

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

相关文章

uni-app——下拉框多选

一、组件components/my-selectCheckbox.vue <template><view class"uni-stat__select"><span v-if"label" class"uni-label-text">{{label &#xff1a;}}</span><view class"uni-stat-box" :class"…

EventBus 开源库学习(一)

一、概念 EventBus是一款在 Android 开发中使用的发布-订阅事件总线框架&#xff0c;基于观察者模式&#xff0c;将事件的接收者和发送者解耦&#xff0c;简化了组件之间的通信&#xff0c;使用简单、效率高、体积小。 一句话&#xff1a;用于Android组件间通信的。 二、原理…

chrome扩展在popup、background、content之间通信解决传输文件问题

文章目录 背景介绍案例介绍代码示例popup页面&#xff0c;上传文件页面popup页面&#xff0c;js上传代码&#xff0c;file文件转base64background监听消息&#xff0c;base64转file文件&#xff0c;axios上传 附-转base64后直接下载 背景介绍 示例扩展API版本MV2。 以弹…

新增数据自动生成递增排序序号

明确的点 获取序号数组&#xff0c;如果有缺失正整数&#xff0c;则获取最小缺失正整数作为序号 如果没有缺失&#xff0c;则获取序号最大值1作为新的序号 每次生成新序号需要push到序号数组 每次移除数据&#xff0c;需要删除序号数组中对应值的一条记录 1 获取序号数组 //记…

SQL-每日一题【1193. 每月交易 I】

题目 Table: Transactions 编写一个 sql 查询来查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数及其总金额。 以 任意顺序 返回结果表。 查询结果格式如下所示。 示例 1: 解题思路 1.题目要求我们查找每个月和每个国家/地区的事务数及其总金额、已批准的事务数…

Spring Cloud Eureka 和 zookeeper 的区别

CAP理论 在了解eureka和zookeeper区别之前&#xff0c;我们先来了解一下这个知识&#xff0c;cap理论。 1998年的加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式有三个指标。Consistency&#xff0c;Availability&#xff0c;Partition tolerance。简称即为CAP。…

【知识图谱】图数据库Neo4jDesktop的安装图文详解(小白适用)

neo4j 的安装需要有jdk环境的支持。因此在安装Neo4j之前&#xff0c;需要安装Java JDK。 一.安装JDK 参考文章https://blog.csdn.net/weixin_41824534/article/details/104147067?spm1001.2014.3001.5502 二.Neo4j下载 进入Neo4j官网 选择下载中心 下滑选择Neo4j Deskto…

uniapp引入inconfont

app,h5端引入 uniapp本身的全局设置中有个iconfontsrc属性 所以只需要 1.iconfont将需要的icon添加至项目 2.下载到本地解压后,将其中的ttf文件,放在static静态目录下 3.在page.json中对全局文件进行配置tabBar(导航图标) “iconfontSrc”: “static/font/iconfont.ttf”, …

【iOS】App仿写--天气预报

文章目录 前言一、首页二、搜索界面三、添加界面四、浏览界面总结 前言 最近完成了暑假的最后一个任务——天气预报&#xff0c;特此记录博客总结。根据iPhone中天气App的功能大致可以将仿写的App分为四个界面——首页&#xff0c;搜索界面&#xff0c;添加界面&#xff0c;浏…

blender的下载安装和配置中文环境

引言 在3D建模和动画设计领域&#xff0c;Blender 作为一款强大且免费的开源软件&#xff0c;一直以优秀的性能和对众多技术的支持赢得了大批用户的喜爱。然而&#xff0c;对于刚接触这款软件的用户而言&#xff0c;其安装和配置过程可能会带来一定困扰&#xff0c;尤其是在设…

Leetcode-每日一题【剑指 Offer 04. 二维数组中的查找】

题目 在一个 n * m 的二维数组中&#xff0c;每一行都按照从左到右 非递减 的顺序排序&#xff0c;每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数&#xff0c;输入这样的一个二维数组和一个整数&#xff0c;判断数组中是否含有该整数。 示例: 现有矩阵 matri…

公文写作技巧:“三面镜子”写作提纲60例

写作技巧&#xff1a;“三面镜子”写作提纲60例 1. 用好“三面镜子” 推深做实警示教育 勤用“反光镜”以案为鉴。 善用“显微镜”以案明纪。 巧用“聚光镜”以案促改。 2. 年轻干部要用好“三面镜子” 用好“反光镜”&#xff0c;照亮基层中的“暗点” 用好“显微镜”&am…

掌握Memory Profiler技巧:识别内存问题

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、如何使用四、页面说明4.1 Java 和 Kotlin 分配…

命令模式——请求发送者与接收者解耦

1、简介 1.1、概述 在软件开发中&#xff0c;经常需要向某些对象发送请求&#xff08;调用其中的某个或某些方法&#xff09;&#xff0c;但是并不知道请求的接收者是谁&#xff0c;也不知道被请求的操作是哪个。此时&#xff0c;特别希望能够以一种松耦合的方式来设计软件&a…

十四.redis哨兵模式

redis哨兵模式 1.概述2.测试3.哨兵模式优缺点 redis哨兵模式基础是主从复制 1.概述 主从切换的技术方法&#xff1a;当主节点服务器宕机后&#xff0c;需要手动把一台从服务器切换为主服务器&#xff0c;这就需要人工干预&#xff0c;费时费力&#xff0c;还会造成一段时间内服…

【N32L40X】学习笔记13-软件IIC读写EEPROM AT24C02

AT24C02 8个字节每页,累计32个页 通讯频率MAX 400K AT24C02大小 2K 芯片地址 对于at24c02 A2A1A0 这三个引脚没有使用 写时序 由于设备在写周期中不会产生ACK恢复&#xff0c;因此这可用于确定周期何时完成&#xff08;此特性可用于最大限度地提高总线吞吐量&#xff09;…

机器学习笔记 - YOLO-NAS 最高效的目标检测算法之一

一、YOLO-NAS概述 YOLO(You Only Look Once)是一种对象检测算法,它使用深度神经网络模型,特别是卷积神经网络,来实时检测和分类对象。该算法首次在 2016 年由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 发表的论文《You Only Look Once: Unified, Re…

2023-08-05——JVM 栈

栈 stack 栈&#xff1a;数据结构 程序数据结构算法 栈&#xff1a;先进后出&#xff0c;后进先出 好比一个&#xff1a;桶 队列&#xff1a;先进先出&#xff08;FIFO &#xff1a;First Input First Out&#xff09; 好比一个&#xff1a;管道 栈&#xff1a;喝多了吐。队列…

抽象轻松JavaScript

随心所欲的数组切割与改变2.0版本 splice(开始位置&#xff0c;删除数量&#xff0c;添加内容) slice(开始位置&#xff0c;结束位置) 目的&#xff0c;上面的一串小字&#xff0c;切割与改变 切割代表删&#xff0c;改变代表增、改&#xff0c;随心所欲的切割与改变意味着不…

分布式应用:Zookeeper 集群与kafka 集群部署

目录 一、理论 1.Zookeeper 2.部署 Zookeeper 集群 3.消息队列 4.Kafka 5.部署 kafka 集群 6.FilebeatKafkaELK 二、实验 1.Zookeeper 集群部署 2.kafka集群部署 3.FilebeatKafkaELK 三、问题 1.解压文件异常 2.kafka集群建立失败 3.启动 filebeat报错 4.VIM报错…