# 《分布式IM系统》环境搭建-第01节:分布式IM即时通讯系统研发环境搭建
作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/14oOdmec0 (opens new window)
沉淀,成长,突破,帮助他人,成就自我。
- 本章难度:★★☆☆☆
- 本章重点:安装运行分布式IM即时通讯系统所需要的研发依赖环境,重点涉及到Docker环境、docker-compose环境,以及基于docker-compose一键安装分布式IM即时通讯系统所依赖的基础服务和其他中间件,包括:MySQL、Redis、RocketMQ、ElasticSearch、Logstash、Kibana、Nacos、Sentinel等。另外,项目源码中会提供基于docker-compose的开箱即用的yml脚本文件。
- 课程视频:https://t.zsxq.com/14oOdmec0 (opens new window)
大家好,我是冰河~~
在充分了解了分布式IM即时通讯系统的需求、业务流程、技术流程和架构设计之后,在正式开始研发分布式IM即时通讯系统之前,还需要搭建分布式IM即时通讯系统的研发环境。
注意:本节源码的README.md文件中,已经给出了安装docker和docker-compose的命令,大家打开源码的README.md文件查看即可。
# 一、前言
任何一套系统的研发和运行都是有条件的,那就是需要在特定的环境下研发或者运行,在分布式IM即时通讯系统的架构设计章节,为了进一步增强分布式IM即时通讯系统的性能、可用性和可伸缩性,我们采用容器化架构的设计方案,所以,在正式研发分布式IM即时通讯系统之前,还需要对这些研发环境进行安装和测试。
# 二、本章诉求
还是那句话:磨刀不无砍柴功。在动手写代码之前,将所有要准备的工作完成,这样写起代码来才会更加顺畅。本章,会在CentOS7操作系统之上搭建Docker环境、docker-compose环境,基于docker-compose环境一键安装分布式IM即时通讯系统所依赖的数据库、基础软件和中间件环境,随后会对搭建的环境进行测试。
注意:如何安装VMWare以及安装CentOS7操作系统,小伙伴们可以参见Seckill秒杀系统的《第7章:秒杀系统基础环境搭建 (opens new window)》,并且本节所有环境和软件的安装,都需要CentOS7能够正常联网才行,如果小伙伴们的虚拟机不能正常联网,可以参见Seckill秒杀系统的《第7章:秒杀系统基础环境搭建 (opens new window)》一章的内容解决。
# 三、安装Docker环境
之前安装的操作系统为CentOS7版本,所以,这里以CentOS7为例安装Docker环境,具体安装步骤如下所示。
# 3.1 查看操作系统内核版本
由于Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10,所以这里先查看下安装的CentOS7操作系统的内核版本。在,命令行输入如下命令。
uname -srm
输出的结果信息如下所示。
Linux 3.10.0-1160.el7.x86_64 x86_64
可以看到,内核版本是3.10,符合要求。
# 3.2 卸载旧版本Docker
如果之前安装过旧版本的Docker,则可以执行如下命令卸载。
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce
# 3.3 安装gcc环境
安装gcc环境主要是为了更加顺利的安装Docker环境,在命令行分别执行如下两条命令来安装gcc环境。
yum -y install gcc
yum -y install gcc-c++
2
# 3.4 安装yum工具
在命令行执行如下命令安装yum工具。
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
# 3.5 设置Docker镜像仓库
这里,我将Docker的镜像仓库设置为阿里镜像源,执行如下命令即可。
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行如下命令将docker-ce.repo镜像仓库配置文件中的镜像源修改成阿里镜像源。
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
# 3.6 更新yum包软件索引
更新yum包软件索引后,执行yum命令安装软件会快一些,在命令行执行如下命令更新yum包软件索引。
yum makecache fast
# 3.7 安装Docker
在命令行执行如下命令安装Docker。
yum -y install docker-ce docker-ce-cli containerd.io
# 3.8 启动Docker
在命令行执行如下命令启动Docker。
systemctl start docker
# 3.9 设置Docker开机自启动
在命令行执行如下命令设置Docker开机自启动。
systemctl enable docker
# 3.10 查看Docker版本
在命令行输入如下命令查看Docker版本。
docker version
输出的结果信息如下所示。
Client: Docker Engine - Community
Version: 23.0.6
API version: 1.42
Go version: go1.19.9
Git commit: ef23cbc
Built: Fri May 5 21:21:29 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.6
API version: 1.42 (minimum version 1.12)
Go version: go1.19.9
Git commit: 9dbdbd4
Built: Fri May 5 21:20:38 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.21
GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
runc:
Version: 1.1.7
GitCommit: v1.1.7-0-g860f061
docker-init:
Version: 0.19.0
GitCommit: de40ad0
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 3.11 配置镜像加速
# 查看完整文章
加入冰河技术 (opens new window)知识星球,解锁完整技术文章、小册、视频与完整代码