1. 准备开发环境
项目开发会用到MySQL、Redis、MinIO,本章主要内容就是部署三者,部署环境为Linux虚拟机。
1.1 准备Linux虚拟机
1.1.1 Linux快速入门
Linux入门相关内容可参考尚硅谷Linux基础。
1.1.2 开发环境要求
准备两台Linux虚拟机——server01
和server02
,具体要求如下
提示
开发阶段只需要一台虚拟机即可,另外一台留到后序的项目部署阶段使用。实际操作时,可先按要求准备一台,然后直接克隆得到第二台服务器。
-
操作系统为Centos7
由于下文的安装步骤都是基于Centos7系统的,所以建议统一使用Centos7系统。
-
网络设置
虚拟机网络使用NAT模式,且使用静态IP。
-
主机名设置
为两台主机分别设置一个主机名,分别是
server01
和server02
,设置主机名的命令如下hostnamectl set-hostname <主机名> --static
-
配置好SSH远程登录
ssh客户端不限,可使用Xshell、MobaXterm、finalshell等等
-
与网络时间保持同步
安装时间同步工具
chrony
。
1.2 部署MySQL
在server01
部署MySQL,具体步骤可参考文档
1.2.1安装MySQL yum库
(1) 下载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
(2) 安装yum库
在上述rpm
文件所在路径执行如下命令
rpm -ivh mysql80-community-release-el7-9.noarch.rpm
(3) 配置国内镜像
修改/etc/yum.repo.d/mysql-community.repo
文件中的[mysql80-community]
中的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
1.2.2安装MySQL
执行如下命令安装MySQL
yum install -y mysql-community-server
1.2.3启动MySQL
执行如下命令启动MySQL服务
systemctl start mysqld
执行以下命令查看MySQL运行状态
systemctl status mysqld
1.2.4root用户相关配置
(1) 查看root用户初始密码
MySQL启动后会将root用户的初始密码写入日志,通过以下命令可以获取密码
cat /var/log/mysqld.log | grep password
(2) 使用初始密码登录
执行以下命令登录MySQL
mysql -uroot -p'password'
(3) 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Atguigu.123';
注意:MySQL默认安装了validate_password 插件,默认情况下,要求密码要包含大写字母、小写字母、数字和特殊符号,且密码长度最小为8。若需设置简单密码,可禁用该插件,或调整该插件的密码强度级别。
(4) 授予root用户远程登录权限
CREATE USER 'root'@'%' IDENTIFIED BY 'Atguigu.123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
1.3 部署Redis
在server01
部署Redis服务,安装方式采用yum在线安装,安装版本为redis-7.0.13
,具体步骤如下
1.3.1安装Redis yum仓库
(1) 下载yum仓库
Redis所在的仓库为remi-release,下载地址为:http://rpms.famillecollet.com/enterprise/remi-release-7.rpm,可使用如下命令直接下载到服务器
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
1.3.2安装yum仓库
执行如下命令进行安装
rpm -ivh remi-release-7.rpm
1.3.2安装Redis
执行以下命令安装Redis
yum --enablerepo=remi -y install redis-7.0.14
-
注:
--enablerepo
选项的作用为启用一个仓库
1.3.3配置Redis允许远程访问
Redis服务默认只允许本地访问,若需要进行远程访问,需要做出以下配置。
修改Redis配置文件
vim /etc/redis/redis.conf
修改如下参数
#监听所有网络接口,默认只监听localhost
bind 0.0.0.0
#关闭保护模式,默认开启。开始保护模式后,远程访问必须进行认证后才能访问。
protected-mode no
1.3.4启动Redis
执行以下命令启动Redis
*启动Redis**
执行以下命令启动Redis
执行以下命令查看Redis的运行状态
systemctl status redis
执行以下命令设置Redis开机自启
systemctl enable redis
1.4 部署MinIO
在server01
部署MinIO,安装方式采用rpm离线安装,具体步骤可参考官方文档。
1.4.1获取MinIO安装包
下载地址如下:https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm,通过以下命令可直接将安装包下载至服务器
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20230809233022.0.0.x86_64.rpm
注:若下载缓慢,大家可直接使用课程资料中附带的安装包
1.4.2安装MinIO
rpm -ivh minio-20230809233022.0.0.x86_64.rpm
1.4.3集成Systemd
(1) Systemd概述
Systemd
是一个广泛应用于Linux系统的系统初始化和服务管理器,其可以管理系统中的各种服务和进程,包括启动、停止和重启服务,除此之外,其还可以监测各服务的运行状态,并在服务异常退出时,自动拉起服务,以保证服务的稳定性。系统自带的防火墙服务firewalld
,我们自己安装的mysqld
和redis
均是由Systemd
进行管理的,此处将MinIO服务也交给Systemd管理。
(2) 编写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
1.4.4启动MinIO
执行以下命令启动MinIO
systemctl start minio
执行以下命令查询运行状态
systemctl status minio
设置MinIO开机自启
systemctl enable minio
1.4.5访问MinIO管理页面
管理页面的访问地址为:http://192.168.10.101:9001
注意:
ip
需要根据实际情况做出修改