ARM架构、X86架构、Window系统环境下RabbitMQ的安装
- RabbitMQ安装
-
- [1 Erlang语言介绍](#1 Erlang语言介绍)
- [2 安装Erlang](#2 安装Erlang)
-
- [2.1 ARM架构的CentOS虚拟机中安装Erlang](#2.1 ARM架构的CentOS虚拟机中安装Erlang)
- [2.2 X86架构的CentOS虚拟机中安装Erlang](#2.2 X86架构的CentOS虚拟机中安装Erlang)
- [2.3 Windows系统安装Erlang](#2.3 Windows系统安装Erlang)
-
- [2.3.1 下载Erlang](#2.3.1 下载Erlang)
- [2.3.2 安装Erlang](#2.3.2 安装Erlang)
- [2.3.3 配置Erlang](#2.3.3 配置Erlang)
- [2.3.4 检测Erlang](#2.3.4 检测Erlang)
- 3.安装Socat
- 3.安装Socat
-
- [3.1 Socat简介](#3.1 Socat简介)
- [3.2 Socat安装](#3.2 Socat安装)
- 4.安装RabbitMQ
-
- [4.1 ARM架构的CentOS虚拟机中安装RabbitMQ](#4.1 ARM架构的CentOS虚拟机中安装RabbitMQ)
- [4.2 X86架构的CentOS虚拟机中安装RabbitMQ](#4.2 X86架构的CentOS虚拟机中安装RabbitMQ)
- [4.3 Windows系统安装RabbitMQ](#4.3 Windows系统安装RabbitMQ)
-
- [4.3.1 下载RabbitMQ](#4.3.1 下载RabbitMQ)
- [4.3.2 安装RabbitMQ](#4.3.2 安装RabbitMQ)
- [4.3.3 配置RabbitMQ](#4.3.3 配置RabbitMQ)
- [4.3.4 启动RabbitMQ管理插件](#4.3.4 启动RabbitMQ管理插件)
RabbitMQ安装
在使用RabbitMQ之前必须预先安装配置,参考RabbitMQ官网说明,RabbitMQ支持多平台安装,例如Linux、Windows、MacOS、Docker等。不同架构的芯片对应的RabbitMQ安装包是有区别的。目前市场上主流的芯片架构有:X86架构、ARM架构、RISC-V架构和MIPS架构这四种。
例如,在Linux系统中,如果想查看CentOS版本信息,可以通过以下命令来获取。
yaml
[root@user ~]# cat /proc/version
Linux version 5.11.12-300.el7.aarch64 (root@centos7.9) (gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3), GNU ld version 2.30-55.el7.2) #1 SMP Thu Aug 19 09:02:08 UTC 2021
[root@user ~]# uname -a
Linux node2 5.11.12-300.el7.aarch64 #1 SMP Thu Aug 19 09:02:08 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
[root@user ~]# uname -r
5.11.12-300.el7.aarch64
这里,我们以CentOS 7.X系统(ARM架构和X86架构)和Windows系统环境为例,介绍RabbitMQ的安装配置过程。
1 Erlang语言介绍
Erlang(['ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。
最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合构建分布式、实时软并行计算系统。Erlang运行时环境是一个虚拟机,有点像Java的虚拟机,这样代码一经编译,同样可以随处运行。
2 安装Erlang
RabbitMQ安装包依赖于Erlang语言包的支持,所以需要先安装Erlang语言包,再安装RabbitMQ安装包。
下载Erlang时需要注意版本兼容性问题,参考官方文档(https://www.rabbitmq.com/which-erlang.html)

在RabbitMQ发布的所有版本中,支持CentOS 7.X的最高一个版本是rabbitmq-server-3.10.0-1.el7.noarch。
2.1 ARM架构的CentOS虚拟机中安装Erlang
下载ARM架构版本的Erlang安装包。可以从以下三个地址下载otp_src_23.3.4.11.tar.gz版本的安装包。
拷贝otp_src_23.3.4.11.tar.gz到/opt目录。
yaml
# 1.Windows系统使用Xftp工具或者lrzsz工具将Erlang安装包上传至CentOS系统
# 2.Mac系统使用scp命令将Erlang安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/otp_src_23.3.4.11.tar.gz root@192.168.230.131:/opt
安装依赖环境。安装的过程需要消耗一定的时间需耐心等待安装"完毕"的提示。
yaml
[root@user opt]# yum -y install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz glibc-devel xmlto perl gtk2-devel binutils-devel
解压Erlang安装包。
yaml
[root@user opt]# tar -zxvf otp_src_23.3.4.11.tar.gz
配置安装目录
yaml
# 进入Erlang源码编译目录
[root@user opt]# cd otp_src_23.3.4.11
# 创建Erlang安装目录
[root@user opt]# mkdir /opt/erlang
# 设置安装目录
[root@user otp_src_23.3.4.11]# ./configure --prefix=/opt/erlang
编译、安装Erlang。注意,make命令执行的时间可能比较长,需耐心等待编译完成。
yaml
[root@user otp_src_23.3.4.11]# make
[root@user otp_src_23.3.4.11]# make install
打开/etc/profile配置文件,将编译安装的Erlang加入环境变量。
yaml
[root@user otp_src_23.3.4.11]# vim /etc/profile
配置ERLANG_HOME安装路径。
yaml
# ERLANG_HOME
export ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
使配置文件生效并使用erl命令查看Erlang的版本信息。
yaml
[root@user otp_src_23.3.4.11]# source /etc/profile
[root@user otp_src_23.3.4.11]# erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 11.2.2.10
2.2 X86架构的CentOS虚拟机中安装Erlang
下载erlang-23.3.4.11-1.el7.x86_64.rpm版本的Erlang安装包。Erlang安装包下载地址:https://packagecloud.io/rabbitmq/erlang。

请运行安装脚本,或在安装此软件包之前手动安装仓库。
yaml
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
使用wget命令下载Erlang安装包(下载到/opt目录下)。
yaml
wget --content-disposition "https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=140"
安装Erlang。
yaml
# 安装方式1
sudo yum install erlang-23.3.4.11-1.el7.x86_64
# 安装方式2
rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
输入"y",回车继续安装,等待安装完成。
yaml
Is this ok [y/s/N]: y
输入"erl"命令,如果显示版本号说明Erlang安装成功。
yaml
erl
如果在安装Erlang提示"错误:依赖检测失败"解决方案见下。
(1).如果在安装Erlang时报如下错误。
yaml
[root@user opt]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm
警告:erlang-23.3.4.11-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
错误:依赖检测失败:
libc.so.6(GLIBC_2.10)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.11)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.14)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.15)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.3)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.3.2)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.3.4)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.4)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.7)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libc.so.6(GLIBC_2.8)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libdl.so.2(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libm.so.6(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libpthread.so.0(GLIBC_2.12)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libpthread.so.0(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libpthread.so.0(GLIBC_2.3.2)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
librt.so.1(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
libutil.so.1(GLIBC_2.2.5)(64bit) 被 erlang-23.3.4.11-1.el7.x86_64 需要
yaml
(2). 在命令后面添加--nodeps --force参数。该命令的作用是,不再分析包之间的依赖关系而直接安装。
yaml
[root@user opt]# rpm -ivh erlang-23.3.4.11-1.el7.x86_64.rpm --nodeps --force
警告:erlang-23.3.4.11-1.el7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 6026dfca: NOKEY
准备中... ################################# [100%]
软件包 erlang-23.3.4.11-1.el7.x86_64 是针对 different 构架的
(3). 手动打的安装依赖环境。
yaml
[root@user opt]# yum -y install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz glibc-devel xmlto perl gtk2-devel binutils-devel
2.3 Windows系统安装Erlang
2.3.1 下载Erlang
访问Erlang官网(https://www.erlang.org),点击【Get Erlang/OPT 24】按钮,进入到下载页面。

在Erlang下载页面选择【Download Windows installer】-【Download 64-bit Installer】选项,下载64位的Erlang安装包。

2.3.2 安装Erlang
双击otp_win64_24.3.3.exe安装包,今入选择组件窗口,保持选项默认,直接点击【Next】下一步。

在选择安装位置窗口,自定义Erlang安装配置。例如,安装在D:\ProgramSoftware\erl-24.3.3目录下。

在选择开始菜单文件夹窗口,保持默认,点击【Install】按钮进行安装。

等待Erlang的安装完成,整个安装过程可能需要持续三分钟左右。

安装完成后,点击【Close】按钮,关闭窗口。至此,Erlang语言包的安装完成。

2.3.3 配置Erlang
在【高级系统设置】-【环境变量】-【系统变量】选项下,创建ERLANG_HOME变量名,并对此变量名指定Erlang的安装路径作为变量值(注意:在安装Erlang语言包时,会在系统变量下会自动增加一个变量名为ERLANG_HOME的变量配置,它的配置路径是Erlang选择安装的具体路径,无须手动修改。如果此变量已自动生成,无需重复配置)。

双击【系统变量】-【Path】选项,在Path变量中添加Erlang安装目录下的bin配置。
%ERLANG_HOME%\bin
2.3.4 检测Erlang
在开始菜单找到【Erlang】选项,点击启动Erlang;如果显示如下界面,则表示Erlang安装配置成功。

或者在【命令提示符】窗口,输入erl命令,查看Erlang版本号;再输入halt().退出erl命令操作。

3.安装Socat
3.安装Socat
ARM架构的CentOS虚拟机中在安装Erlang时,默认已经安装了Socat,因此无需重复安装Socat。而X86架构的CentOS虚拟机中在安装Erlang时,默认没有安装Socat,因此需要手动安装Socat。
3.1 Socat简介
Socat是Linux下的一个多功能的网络工具,名字来由是"Socket CAT"。其功能与有瑞士军刀之称的Netcat类似,可以看做是Netcat的加强版。
Socat的主要特点就是在两个数据流之间建立通道,且支持众多协议和链接方式。如IP、TCP、UDP、IPv6、PIPE、EXEC、System、Open、Proxy、Openssl、Socket等。Socat的官方网站:http://www.dest-unreach.org/socat。
3.2 Socat安装
通过以下地址可以下载Socat安装包:http://repo.iotti.biz/CentOS/7/x86_64。
拷贝socat-1.7.3.2-5.el7.lux.x86_64.rpm到/opt目录。
# 1.Windows系统使用Xftp工具或者lrzsz工具将Socat安装包上传至CentOS系统
# 2.Mac系统使用scp命令将Socat安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/socat-1.7.3.2-5.el7.lux.x86_64.rpm root@192.168.230.131:/opt
安装Socat。
[root@user opt]# rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
查看Socat的版本信息。
[root@user opt]# yum info socat
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.bfsu.edu.cn
* extras: mirrors.bfsu.edu.cn
* updates: mirrors.bfsu.edu.cn
可安装的软件包
名称 :socat
架构 :aarch64
版本 :1.7.3.2
发布 :2.el7
大小 :279 k
源 :base/7/aarch64
简介 :Bidirectional data relay between two data channels ('netcat++')
网址 :http://www.dest-unreach.org/socat
协议 :GPLv2
描述 :Socat is a relay for bidirectional data transfer between two independent data
: channels. Each of these data channels may be a file, pipe, device (serial line
: etc. or a pseudo terminal), a socket (UNIX, IP4, IP6 - raw, UDP, TCP), an
: SSL socket, proxy CONNECT connection, a file descriptor (stdin etc.), the GNU
: line editor (readline), a program, or a combination of two of these.
4.安装RabbitMQ
4.1 ARM架构的CentOS虚拟机中安装RabbitMQ
下载ARM架构版本的RabbitMQ安装包。下载地址:https://github.com/rabbitmq/rabbitmq-server/releases。我们选择rabbitmq-server-generic-unix-3.10.0.tar.xz版本的RabbitMQ进行下载。
拷贝rabbitmq-server-generic-unix-3.10.0.tar.xz到/opt目录。
# 1.Windows系统使用Xftp工具或者lrzsz工具将RabbitMQ安装包上传至CentOS系统
# 2.Mac系统使用scp命令将RabbitMQ安装包上传至CentOS系统
scp /Users/yuanxin/Downloads/rabbitmq-server-generic-unix-3.10.0.tar.xz root@192.168.230.131:/opt
解压RabbitMQ安装包。
[root@user opt]# xz -d rabbitmq-server-generic-unix-3.10.0.tar.xz
[root@user opt]# tar -xvf rabbitmq-server-generic-unix-3.10.0.tar
打开/etc/profile配置文件,配置RabbitMQ环境变量。
[root@user opt]# vim /etc/profile
将RabbitMQ安装路径加入环境变量。
#RABBITMQ_HOME
export RABBITMQ_HOME=/opt/rabbitmq_server-3.10.0
export PATH=$PATH:$RABBITMQ_HOME/sbin
使配置文件生效并使用erl命令查看Erlang的版本信息。
[root@user opt]# source /etc/profile
启动RabbitMQ管理插件。为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。
rabbitmq-plugins enable rabbitmq_management
4.2 X86架构的CentOS虚拟机中安装RabbitMQ
下载rabbitmq-server-3.10.0-1.el7.noarch.rpm版本的RabbitMQ安装包。RabbitMQ安装包下载地址:https://packagecloud.io/rabbitmq/rabbitmq-server。

请运行安装脚本,或在安装此软件包之前手动安装仓库。
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
使用wget命令下载RabbitMQ安装包(下载到/opt目录下)。
wget --content-disposition "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_version_id=140"
安装RabbitMQ。
sudo yum install rabbitmq-server-3.10.0-1.el7.noarch
输入"y",回车继续安装,等待安装完成。
Is this ok [y/s/N]: y
启动RabbitMQ管理插件。为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。
rabbitmq-plugins enable rabbitmq_management
4.3 Windows系统安装RabbitMQ
4.3.1 下载RabbitMQ
访问RabbitMQ官网(http://rabbitmq.com),点击【Get Started】选项。

选择【Download + Installation】选项,进入RabbitMQ下载页面。

在该页面中可以选择第一个推荐(recommended)的rabbitmq-sever-3.9.14.exe(3.9.14版本是在编写此教程时最新的稳定版本)进行下载。

找到直接下载(Direct Downloads)选项,然后点击rabbitmq-sever-3.9.14.exe进行下载。

4.3.2 安装RabbitMQ
双击rabbitmq-server-3.9.14.exe安装包,打开选择组件窗口,保持选项默认,直接点击【Next】下一步。

在选择安装位置窗口,自定义RabbitMQ安装配置。例如,安装在D:\ProgramSoftware\RabbitMQ Server目录下。然后点击【Install】进行安装。

等待RabbitMQ的安装完成,整个安装过程可能需要持续三分钟左右。

安装完成后,点击【Next】按钮进入下一步操作。
安装完成后,点击【Next】按钮进入下一步操作。

完成RabbitMQ安装后,点击【Finish】按钮,完成操作。

4.3.3 配置RabbitMQ
在【高级系统设置】-【环境变量】-【系统变量】选项下,创建RABBITQM_SERVER变量名,并对此变量名指定RabbitMQ的安装路径作为变量值。

双击【系统变量】-【Path】选项,在Path变量中添加RabbitMQ安装目录下的sbin配置。
%RABBITQM_SERVER%\sbin
4.3.4 启动RabbitMQ管理插件
为了更加方便地管理RabbitMQ,需要启动RabbitMQ的管理插件。
我们将目录切换到RabbitMQ中的sbin目录下。
cd D:\ProgramSoftware\RabbitMQ Server\rabbitmq_server-3.9.14\sbin
也可点击开始菜单中的【RabbitMQ Command Prompt (sbin dir)】菜单选项,直接切换到sbin目录下。
执行以下命令,启动RabbitMQ管理插件。
rabbitmq-plugins enable rabbitmq_management