Linux是一种开源操作系统,与Windows或macOS等操作系统不同,Linux允许用户自由地查看、修改和分发其源代码。以下是Linux系统的一些显著的优势。
- **稳定性和可靠性**:
Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务。
- **安全性**:
Linux系统的安全性得到了广泛认可。开源的自然属性使得漏洞可以很快被发现和修复,从而降低了受到安全威胁的风险。
- **资源利用效率**:
Linux在资源管理方面表现出色,可以高效地利用服务器硬件资源,使得服务器能够同时处理大量的请求。
- **开源和免费**.
Linux是开源的,因此不需要为操作系统本身付费。这使得它在经济上具有明显的优势,特别是对于企业或组织需要部署大量服务器的情况。
1.安装虚拟机
需要安装VMware,同时下载CentOS镜像
创建虚拟机Linux系统
1.点击创建新的虚拟机
, 启动向导
2.选择典型向导,并点击下一步
3.选择稍后安装操作系统,并点击下一步
4.选择操作系统类型,分别选择Linux
和Centos 7 64 位
,并点击下一步
5.为虚拟机命令并选择安装目录,完成后点击下一步
6.设置磁盘大小,建议40G
,完成后点击下一步
7.点击自定义硬件
8.自定义虚拟机内存大小,推荐4G
9.自定义虚拟机处理器,推荐1个处理器2个核心
10.自定义网络模式,暂时选择桥接模式
2.安装Centos7系统
安装虚拟机完了后弄这个
下载Centos系统镜像
IOS镜像的下载地址为:
2.安装系统镜像,选择CD/DVD
模式
3选择ISO镜像,并指定CentOS-7-x86_64-DVD-2009.iso
镜像所在路径,完成后点击确定
4开启虚拟机,开始安装系统
5.鼠标点击虚拟机屏幕,进入虚拟机(如需返回主机系统,同时按住Ctrl
和Alt
键),使用上下前切换安装选项,选中第一项Install Centos 7
(白色为选中),然后点击回车键。
6.等待启动安装向导
7.向导启动成功后,界面如下图所示
设置中文,然后点继续
8.选择预置软件,推荐选择Gnome(可选,这个是图形化界面,比较容易上手)
9.选择系统安装位置,推荐使用自动配置分区
10关闭KDUMP,已节省资源
11上述内容设置完毕后,点击开始安装
12设置root用户密码
可选(创建普通用户)
等待系统安装完成,重启
重启后,同意许可协议
连接网络
进入系统后
将网络设置为自动连接
测试网络是否可用
结束
3.常用命令
linux文件目录结构
目录 | 说明 | 作用 |
---|---|---|
/ | 根目录 | 根目录是整个文件系统的起点,所有其他目录和文件都位于根目录之下。 |
/home | 家目录 | 每个用户的个人目录都位于这个目录下,通常以用户名命名。例如,用户john 的主目录路径为/home/john 。 |
/root | root用户的家目录 | 保存root用户的个人数据 |
/boot | 引导文件所在目录 | 保存系统启动时所需的各种文件 |
/usr | User System Resources的简写,说法不唯一 | 存放用户可用的软件和程序文件,也包括了一些共享的数据和库文件。 |
/bin | binary的简写 | 存放系统的基本命令(如ls、cp等)和其余可执行文件。 |
/sbin | system binary的简写 | 存放系统管理和维护方面的二进制文件。 |
/etc | etcetera的简写 | 存放系统的配置文件,包括各种程序的配置文件和系统的全局配置文件。 |
/var | variable的简写 | 存放系统运行时产生的可变数据,如日志文件、数据库文件等。 |
/opt | optional的简写 | 存放一些可选的软件包,通常由用户自行安装。 |
/tmp | temporary的简写 | 存放临时文件,系统会定期清理该目录 |
3.1文件和目录相关命令
1.pwd
作用:打印当前目录的绝对路径
基本语法 pwd
2.ls(list)
作用:列出目录内容
基本语法
ls [选项] [目录或是文件]
选项 | 功能 |
---|---|
-a | 全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来 |
-l | 使用较长(详细)的格式列出信息,包含文件的属性与权限等等数据 |
3.cd
作用:切换路径
基本语法 cd [参数]
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~或者cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
4.mkdir
作用
创建目录
基本语法
mkdir [选项] 要创建的目录
选项 | 功能 |
---|---|
-p | 创建多层目录 |
5.cp(copy)
作用 复制文件或目录
基本语法
cp [选项] source dest
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
参数 | 功能 |
---|---|
source | 源文件 |
dest | 目标文件 |
6.rm
作用 移除文件或者目录
基本语法
rm [选项] deleteFile
选项 | 功能 |
---|---|
-r | 递归删除目录所有内容 |
-f | 强制删除,不提示用户进行确认 |
7.mv
作用 移动或重命名文件
基本语法
移动文件 mv 源文件 目标目录
重命名 mv 源文件 目标文件
案例
移动文件
[root@localhost ~]# cd hello/ [root@localhost hello]# mv initial-setup-ks.cfg world/
移动文件并重命名
[root@localhost world]# mv initial-setup-ks.cfg ../hello.cfg
重命名
[root@localhost hello]# mv hello.cfg initial-setup-ks.cfg
8.cat
作用 查看文件内容
基本语法 cat [选项] 文件
选项 | 功能描述 |
---|---|
- n | 显示所有行的行号,包括空行 |
9.tail
作用 输出文件尾部内容
基本语法
tail 文件
(功能描述:查看文件后10行内容)
tail -n 5 文件
(功能描述:查看文件后5行内容,5可以是任意行数)
tail -f 文件
(功能描述:实时追踪该文档的所有更新)
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部n行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
3.2文本编辑相关命令
在命令行界面下,最常用的文本编辑器就是Vi/Vim。其中Vi 是 Linux操作系统中最通用的文本编辑器。 Vim编辑器是Vi的增强版,相较于Vi,提供了代码高亮等功能。两者用法完全兼容。下面介绍Vim的用法。
基础语法
vim 文件
Vim模式介绍
Vim文编辑器有不同的工作模式,在不同模式下,可执行不同的操作,主要模式有
普通模式(Normal Mode):用于删除、复制、粘贴等基本操作。
编辑模式(Insert Mode):用于编辑文本。
命令行模式(Command Mode):用于执行命令,如保存、退出等。
-
编辑模式
编辑模式下,可进行正常的编辑操作,可在编辑模式下和其他模式下灵活切换,提高编辑效率。
-
一般模式
在这个模式中, 可以使用上下左右按键来移动光标,也开通过一些简单的操作来复制粘贴以及删除文本,具体操作如下
光标操作
快捷键 | 操作 |
---|---|
shift+6(^) | 移动到行头 |
shift+4($) | 移动到行尾 |
shift+g | 移动到页尾 |
gg | 移动到页头 |
复制粘贴操作
快捷键 | 操作 |
---|---|
yy | 复制光标当前行 |
yw | 复制光标当前词 |
p | 粘贴 |
删除操作
快捷键 | 操作 |
---|---|
dd | 删除光标当前行 |
d n d | 删除当前光标所处行及其以下共n行 |
x | 删除当前光标处的一个字符 |
命令模式
命令模式下可通过一些命令实现存盘、退出、显示行号、搜索、批量替换等功能,具体命令如下
命令 | 操作 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
:set nu | 显示行号 |
:set nonu | 取消行号 |
/文本 | 搜索文本,输入n:光标指向下一个,输入N:贯标指向上一个 |
:nohl | 搜索文本后,匹配内容会高亮显示,该命令可取消高亮 |
:s/old/new/g | 在全局范围内使用new替换old内容 |
q!不保存强制退出
wq报存退出
可以组合的
3.3文件全限相关命令
Linux中的所有文件均有严格的访问权限控制,只有当用户拥有某个文件的相关权限时,才可对文件执行相关操作。
权限系统相关概念
-
用户和用户组
在Linux系统中注册的个体称为一个用户,例如root和atguigu,除此之外还能使用
useradd <用户名>
命令创建新的用户。每个用户都可以属于一个或多个用户组,可以使用groups <用户名>
命令查看用户所属的组,使用usermod -g <新组名> <用户名>
修改用户所属组。每个文件或者目录都有一个所属用户和一个所属组。
-
文件权限
在Linux中,文件和目录的权限主要分为三个部分:读(read)、写(write)和执行(execute)。
-
读权限,表示可以读取文件的内容或者查看目录的内容。
-
写权限,表示可以修改文件内容或者在目录中创建、删除文件。
-
执行权限,表示可以运行可执行文件或者进入目录。
-
-
权限字符串:
在Linux系统中,文件和目录的权限用一组字符来表示,通常以
rwxr-xr--
的形式呈现,其中r
、w
、x
分别表示读、写和执行权限。以下是权限字符的含义:-
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
-
第4-6位确定属组(所有者的同组用户)拥有该文件的权限。
-
第7-9位确定其他用户拥有该文件的权限。
-
1.chmod
作用 修改文件或目录权限
基本语法
chmod [选项] [u/g/o/a][+/-/=][r/w/x] 文件或目录
u:user 文件所属用户
g:group 文件所属组
o:other 其他用户
a:all 所有用户
chmod [选项] 777 文件或目录
权限表示法 | user | group | other |
---|---|---|---|
字符串 | rwx | r-x | rw- |
数字(二进制) | 111 | 101 | 110 |
数字(八进制) | 7 | 5 | 6 |
选项 | 功能 |
---|---|
-R | 递归操作 |
修改文件使其所属主用户具有执行权限
[root@localhost ~]# chmod u+x hello.cfg
修改文件使其所属组用户具有执行权限
[root@localhost ~]# chmod g+x hello.cfg
修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@localhost ~]# chmod u-x,o+x hello.cfg
采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@localhost ~]# chmod 777 hello.txt
修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读写执行权限。
[root@localhost ~]# chmod -R 777 hello/
2.chown
作用:改变文件或目录所有者
基本语法 chown [选项] 用户[:用户组] 文件或目录
选项 | 功能 |
---|---|
-R | 递归操作 |
-
修改文件所有者
[root@localhost ~]# chown atguigu helle.cfg
-
递归改变文件所有者和所有组
[root@localhost ~]# chown -R atguigu:atguigu hello/
3.4进程管理相关命令
1.ps
作用:可以使用
ps
(process status)命令查看操作系统中当前的进程常见用法
ps aux
选项 | 功能 |
---|---|
a | 显示所有前台进程 |
u | 以用户友好的方式打印进程信息 |
x | 显示后台进程 |
USER:启动该进程的用户
PID:进程ID
%CPU:该进程占用CPU资源的百分比
%MEM:该进程占用物理内存的百分比
COMMAND:产生此进程的命令名
2.ps -ef
选项 | 功能 |
---|---|
-e | 显示所有进程 |
-f | 以完整的格式显示进程的详细信息 |
UID:用户ID
PID:进程ID
PPID:父进程ID
CMD:启动进程所用的命令和参数
日常查看进程时,通常会将上述命令与
grep
命令配合使用,grep
可用于过滤文本行。例如想查看所有的Java进程,便可执行以下命令
|
符号称为管道符,其作用是将前边命令的输出作为下一命令的输入。ps -ef | grep java
终止进程
基本语法
kill [选项] 进程号
选项 | 功能 |
---|---|
-9 | 表示强迫进程立即停止 |
3.5压缩归档相关命令
1.zip/unzip(zip压缩,unzip解压缩)
基本语法
zip [选项] XXX.zip 文件或路径
unzip [选项] XXX.zip
选项说明
zip选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip选项 | 功能 |
---|---|
-d 目录 | 指定解压后文件的存放目录 |
压缩文件
创建两个文件
file1.txt
和file2.txt
,并将其压缩为first.zip
[root@localhost ~]# vim file1.txt [root@localhost ~]# vim file2.txt [root@localhost ~]# zip first.zip file1.txt file2.txt
压缩目录
[root@lcoalhost ~]# zip -r hello.zip hello
解压
创建一个
zip
目录,并将first.zip
中的内容解压到zip
目录[root@lcoalhost ~]# mkdir zip [root@lcoalhost ~]# unzip first.zip -d zip/
2.tar
tar
可用于对文件进行归档(打包)和压缩,使用方式如下
基本语法
打包:
tar [选项] -c -f 包名 文件1 文件2 文件3 ...
解包:
tar [选项] -x -f 包名 -C 指定目录
-
选项 功能 -c 打包 -x 解包 -z 打包的同时进行压缩(解包的时候进行解压) -v 打包或解包时显示正在处理的文件信息 -f 包名 指定打包后的文件名后者要解包的文件名 -C 目录 解包到指定目录
打包
file1.txt
和file2.txt
到first.taqr
[root@lcoalhost ~]# tar -cvf first.tar file1.txt file2.txt
打包并压缩
file1.txt
和file2.txt
到first.tar.gz
[root@lcoalhost ~]# tar -zcvf first.tar.gz file1.txt file2.txt
解包并解压
first.tar.gz
到tar
目录[root@lcoalhost ~]# mkdir tar [root@lcoalhost ~]# tar -zxvf first.tar.gz -C ./tar
3.6安装应用相关命令
RPM(离线安装)
RPM(RedHat Package Manager),RedHat软件包管理工具,在基于 RedHat 的 Linux 发行版中广泛使用。常见软件包如下
Apache-1.3.23-11.i386.rpm
,类似于Windows系统中的exe
文件。
rpm命令
可以使用rpm
命令安装、卸载和查看系统中的应用
安装
基本语法
rpm -ivh 软件包路径
这个命令会自动下载
wget 你的下载地址
选项 功能 -i -i=install,安装 -v -v=verbose,显示详细信息 -h -h=hash,进度条
查看
基本语法
rpm -qa
(功能描述:查询所安装的所有rpm软件包)
选项 功能 -q 查询模式 -a 表示所有 代码实操 [root@localhost ~]# rpm -qa | grep sl
卸载
基本语法
rpm -e 软件包名
Yum(在线安装)
YUM(全称为 Yellowdog Updater Modified)是一个Linux软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,并且可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,该功能类似在JAVA中使用Maven工具从远程仓库中下载依赖一样,可以自动处理依赖关系。
使用yum在线安装sl软件
查询sl软件的包名
可在如下网站搜索Linux中的各种软件包,地址为https://pkgs.org/,搜索sl,并查看对应的Linux发行版,搜索结果为
yum install sl
。执行yum安装命令
执行
yum install sl
后的结果为没有可用软件包 sl。 错误:无须任何处理
配置远程仓库
远程仓库可手动配置,也可在线配置,下面在线配置
删除yum核心目录下的文件[root@localhost ~]# cd /etc/yum.repos.d/ 进入yum核心目录 [root@localhost yum.repos.d]# ls sun.repo 这是我之前配置的本地源 [root@localhost yum.repos.d]# rm -rf * 删除之前配置的本地源 [root@localhost yum.repos.d]# ls [root@localhost yum.repos.d]#
配置阿里源(复制 粘贴即可)
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
配置扩展包
[root@localhost ~]# yum -y install epel-release
yum命令
可以使用yum安装和卸载应用,具体用法如下
安装软件包
基本语法
yum [选项] install 软件包名
选项 功能 -y 对所有提问都回答“yes”
测试
重新安装sl
[root@localhost ~]# yum -y install sl
卸载软件包
基本语法
yum remove 软件包名
Linux远程访问
多数情况下,工作时所用的服务器并不在身边,这些计算机要么位于机房,要么位于云端,因此我们不能向操作个人电脑一样操作服务器,而是需要通过远程登录的方式来操作。
SSH概述
SSH(Secure Shell)使用一种网络协议,用于在计算机之间建立加密的连接,从而允许用户以安全的方式在远程的计算机中执行命令。
SSH实操
Linux系统中都会预装SSH服务,因此我们只需在自己的个人电脑安装SSH客户端,然后配置连接即可。可以选择的SSH客户端有很多,目前,比较主流的有 Xshell, SecureCRT,FinalShell,MobaXterm 等。本次使用MobaXterm,下面演示具体使用方式。
百度搜 MobaXterm下载
查询虚拟机IP地址
使用ifconfig
(network interfaces configuring)命令可查看虚拟机ip地址,其输出内容如下
其中ens33
,为虚拟机的以太网络接口,此处获取的ip地址为192.168.0.105
在MobaXterm中配置SSH(Secure Shell)连接
第一次连接会出现这个,点击Accept
输入root密码
远程登录成功,如下图所示
虚拟机网络配置
目前痛点
目前虚拟机联网方式为桥接模式,这种模式下,虚拟机通过主机的物理网卡,直接连接到主机所在的网络当中。具体效果如下图所示。
这种模式下存在两个痛点
主机必须连接到某个网络中,主机和虚拟机才能互通。
更换网络后,主机和虚拟机的IP地址均会发生变化,因此远程访问工具中的IP需要同步进行修改。
为解决上述痛点,我们需要调整虚拟机的网络模式和配置静态IP。
虚拟机网络模式
为理解VMware中的虚拟网络模式,我们首先需要明确主机所处的真实网络环境,其所处环境如下图所示:
如上图所示,路由器一端(WAN口,Wide Area Network)连接互联网,另一端(Local Area Network,LAN)连接多个设备,这些设备组成一个局域网,局域网中的设备都通过路由器访问互联网,这个场景应该是大家十分熟悉的。下面为大家介绍路由器中的两个十分重要的角色。
-
DHCP
全称Dynamic Host Configuration Protocol ,动态主机配置协议,该协议用于给联网的设备自动分配(私网)IP地址和其他网络配置。家用路由器中一般就会集成DHCP服务,因此设备只要连接上路由器,便能自动获取IP地址等网络配置。
-
NAT
全称Network Address Translation,网络地址转换,该技术主要用于缓解IPv4地址短缺,有了NAT之后,可以令多个网络设备共享一个公网IP地址,家庭路由器中也都集成了该服务。
其工作原理是,NAT设备(路由器)一端连接互联网,其具有一个公网IP,另一端连接一个局域网,局域网中的每个设备均只有一个私网IP。当局域网中的设备经过路由器向互联网中的其他设备发送数据时,NAT服务会将数据包的源地址由该设备的私网IP替换为路由器的公网IP,因此互联网中的其他设备看到源地址为路由器的公网IP,所以其返回数据时,就会把路由器的公网IP设置为目标地址,路由器接收到数据之后,NAT设备再将数据的目标地址由路由器的公网IP改为原设备的私网IP,最终数据就能返回到该设备了。具体流程如下图所示
VMware 中的三种网络模式
桥接模式
这种模式下,VMware虚拟出了一个交换机。首先,该虚拟交换机通过主机的物理网卡连接到主机所在的网络中,然后所有的虚拟机都通过虚拟交换机接入到主机所在网络中。所以在该模式下,虚拟机和主机位于同一网络中,因此在主机接入网络的前提下,虚拟机和物理机是可以互通的。
NAT模式
这种模式下,VMware虚拟出了一个交换机,一个DHCP服务以及一个NAT服务,相当于构成了一个虚拟路由器。虚拟路由器通过主机的物理网卡连接到主机所在的网络,虚拟机则全部连接到虚拟路由器上,组成了一个子网。此时所有的虚拟机位于同一网络,因此彼此之间可以互通,但是主机不能与虚拟机互通。
为使主机能够和虚拟机互通,VMware又在主机中虚拟出了一个网卡,并连接到了这个虚拟路由器中,这时主机便可虚拟机互通了。
仅主机模式
这种模式,和NAT模式十分相似,唯一的区别是,虚拟路由器并未连接到主机所在的网络中,因此主机和虚拟机之间可以互通,但是虚拟机不能访问互联网。
NAT网络模式配置
不要改子网(如果改了,NAT设置需要改,DHCP设置也需要改,最好不要改,每个人的都不一样)
修改NAT配置(这里也不需要改,看网关在不在子网范围内就行,不在的化需要改一下,大部分时候都在)
例如:子网是192.168.10.0
网关必须前三位是192.168.10.? 最后一位的范围是0-128,
NAT网关IP须位于VMnet8子网IP范围内
NAT虚拟机选择网络模式
修改虚拟机所使用的网络模式
选择NAT模式
Windows主机网络配置(不需要改,了解即可)
上述配置中,VMware已将Windows主机连接到虚拟网络中了,此处只需查看Windows主机中的虚拟网络网卡配置是否正确即可。
-
打开网络适配器配置面板
Win+R
打开运行窗口,输入ncpa.cpl
,然后按回车键 -
查看VMnet8虚拟网络适配器
查看IpV4配置(这里我用的是我自己的,所以他是196.128.17.1)每个人的子网都不一样
正常应该是(192.128.10.1)
主机测试虚拟机网络
从虚拟机上ifconig查看虚拟机的ip
主机cmd命令打开命令界面(如图就是连接成功)
主机IP须位于VMnet8子网IP范围内
配置设置静态IP
设置完后,ssh客户端就不需要调了(以后换了网也不需要调了),ip也不变了
命令设置
打开配置文件
(如果没有ifcfg-ens33 ,那就应该是network-scripts目录下的第一个文件,,镜像不同)
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
打开后的内容是这样的
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=bf788989-e095-4e58-865a-e6b07248a514
DEVICE=ens33
ONBOOT=yes
需要修改的内容如下
-
修改
BOOTPROTO
参数为static
-
修改
ONBOOT
参数为yes
需要增加如下内容
IPADDR=192.168.17.100
NETMASK=255.255.255.0
GATEWAY=192.168.17.2
DNS1=192.168.17.2
IPADDR :以后的ip就是这个了,要在你的子网内,我这里设置的是192.168.17.100
这个 100是可以换的,但不可以是1或者是2 ,主机已经把1用了,虚拟机把2用了,所以不可以用
NETMASK :要和你的子网掩码一样
GATEWAY :这里写网关
DNS1:这里保持和网关一样
重新启动网络服务
在终端执行以下命令,重启network服务
[root@localhost ~]# systemctl restart network
观察网络配置是否生效
在终端执行ifoconfig
命令,观察ens33
的网络接口的IP地址是否为前文所配置的IPADDR
。
其他
主机名设置
这里我设置的名称位server01
hostnamectl set-hostname server01 --static
关闭防火墙
#关闭防火墙 systemctl stop firewalld
#禁止防火墙开机自启systemctl disable firewalld
关闭SElinux
SELinux,全称为Security-Enhanced Linux,是一种用于Linux操作系统的安全增强功能,为保证后序部署阶段的Nginx能够正常工作,此处关闭SELinux功能。
修改SELinux配置文件
打开配置文件
vim /etc/selinux/config
修改内容如下
SELINUX=disabled
重启操作系统
reboot
date查看当前时间
安装部署mysql
安装MySQL yum库
下载yum库
下载地址为MySQL :: Download MySQL Yum Repository。需要根据操作系统选择相应版本,Centos7需选择mysql80-community-release-el7-9.noarch.rpm
。
执行以下命令可直接下载到服务器
wget https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpm
安装yum库
在上述rpm
文件所在路径执行如下命令
rpm -ivh mysql80-community-release-el7-9.noarch.rpm
配置国内镜像
修改/etc/yum.repo.d/mysql-community.repo
文件中的[mysql80-community]
中的baseUrl
参数,修改内容如下:
这里安装的是mysql8,所以只修改mysql8就行,只修改mysql8的baseurl,其他不要动
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
安装MySQL
yum install -y mysql-community-server
这里我报错了
百度了一下,要更新mysql密钥
执行这个,然后再次执行安装mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
启动MySQL
执行如下命令启动MySQL服务
systemctl start mysqld
执行以下命令查看MySQL运行状态
systemctl status mysqld
root用户相关配置
查看root用户初始密码
MySQL启动后会将root用户的初始密码写入日志,通过以下命令可以获取密码
cat /var/log/mysqld.log
使用初始密码登录
mysql -uroot -pFfbZVwEvE3_f
修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lxx123456.';
注意:MySQL默认安装了validate_password 插件,默认情况下,要求密码要包含大写字母、小写字母、数字和特殊符号,且密码长度最小为8。若需设置简单密码,可禁用该插件,或调整该插件的密码强度级别
授予root用户远程登录权限
测试远程登入
这里的主机是当前linux的主机ip
设置开启
CREATE USER 'root'@'%' IDENTIFIED BY 'Lxx123456.';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
重新测试
安装部署redis
安装Redis yum仓库
下载yum仓库
Redis所在的仓库为remi-release,下载地址为:http://rpms.famillecollet.com/enterprise/remi-release-7.rpm,可使用如下命令直接下载到服务器
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装yum仓库
执行如下命令进行安装
rpm -ivh remi-release-7.rpm
安装Reids
执行以下命令安装Redis
yum --enablerepo=remi -y install redis-7.0.14
注:--enablerepo
选项的作用为启用一个仓库
配置Redis允许远程访问
Redis服务默认只允许本地访问,若需要进行远程访问,需要做出以下配置。
修改Redis配置文件
vim /etc/redis/redis.conf
修改如下参数
#监听所有网络接口,默认只监听localhost
bind 0.0.0.0
#关闭保护模式,默认开启。开始保护模式后,远程访问必须进行认证后才能访问。
protected-mode no
启动Redis
执行以下命令启动Redis
systemctl start redis
执行以下命令查看Redis的运行状态
systemctl status redis
执行以下命令设置Redis开机自启
systemctl enable redis
查看开机自启(mysql安装后默认安装自启)
安装部署MinIO
获取安装包
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm
安装MinIO
rpm -ivh minio-20230809233022.0.0.x86_64.rpm
集成Systemd
-
Systemd概述
Systemd
是一个广泛应用于Linux系统的系统初始化和服务管理器,其可以管理系统中的各种服务和进程,包括启动、停止和重启服务,除此之外,其还可以监测各服务的运行状态,并在服务异常退出时,自动拉起服务,以保证服务的稳定性。系统自带的防火墙服务firewalld
,我们自己安装的mysqld
和redis
均是由Systemd
进行管理的,此处将MinIO服务也交给Systemd管理。 -
编写MinIO服务配置文件
Systemd所管理的服务需要由一个配置文件进行描述,这些配置文件均位于
/etc/systemd/system/
或者/usr/lib/systemd/system/
目录下,下面创建MinIO服务的配置文件。执行以下命令创建并打开
minio.service
文件vim /etc/systemd/system/minio.service
内容如下,具体可参考MinIO官方文档。
[Unit] Description=MinIO Documentation=https://min.io/docs/minio/linux/index.html Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local ProtectProc=invisible EnvironmentFile=-/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi" ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES Restart=always LimitNOFILE=65536 TasksMax=infinity TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target
-
注意:
重点关注上述文件中的以下内容即可
-
EnvironmentFile
,该文件中可配置MinIO服务所需的各项参数 -
ExecStart
,该参数用于配置MinIO服务的启动命令,其中$MINIO_OPTS
、$MINIO_VOLUMES
,均引用于EnvironmentFile
中的变量。-
MINIO_OPTS
用于配置MinIO服务的启动选项,可省略不配置。 -
MINIO_VOLUMES
用于配置MinIO服务的数据存储路径。
-
-
Restart
,表示自动重启
-
-
编写
EnvironmentFile
文件执行以下命令创建并打开
/etc/default/minio
文件vim /etc/default/minio
内容如下,具体可参考官方文档。
-
MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin MINIO_VOLUMES=/data MINIO_OPTS="--console-address :9001"
注意
-
MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
为用于访问MinIO的用户名和密码,密码长度至少8位。 -
MINIO_VOLUMES
用于指定数据存储路径,需确保指定的路径是存在的,可执行以下命令创建该路径。
mkdir /data
-
MINIO_OPTS
中的console-address
,用于指定管理页面的地址。
启动MinIO
执行以下命令启动MinIO
systemctl start minio
执行以下命令查询运行状态
systemctl status minio
设置MinIO开机自启
systemctl enable minio
-
访问MinIO管理页面
管理页面的访问地址为:
http://192.168.17.101:9001
注意:
ip
需要根据实际情况做出修改