提示:
在Fedora和RHEL仓库中包含了RabbitMQ,但这些版本往往是滞后的且不再被支持,我们建议你使用PackageCloud或者Bintray的Yum仓库进行安装;
RabbitMQ RPM包将需要sudo特权来安装和管理。在没有sudo的环境中,可以考虑使用通用的二进制构建;
安装RabbitMQ的方式
使用PackageCloud或者Bintray的Yum仓库中的安装包进行安装(该选项强烈建议);
下载并使用rpm命令安装(该选项需手动安装所有依赖包);
支持的发行版(基于RPM)
CentOS 8.x, 7.x和6.x(有三个单独的RPM包:8.x, 7.x和6.x);
RedHat企业版8.x, 7.x和6.x(和CentOS一样);
Fedora 28~30(使用CentOS 8.x或者7.x);
RabbitMQ的依赖包
erlang
socat
logrotate
安装Erlang
安装方式:
RabbitMQ团队生成一个简化的包,只提供运行RabbitMQ所需的组件;
Erlang解决方案生成的安装包通常是合理的最新版本,并涉及安装可能过多的依赖项列表。
EPEL(“企业Linux的额外软件包”)。RedHat/Fedora组织的一部分,提供了许多附加包,包括Erlang;
openSUSE为每个发行版生成Erlang安装包(openSUSE和SLES);
*方式一:RabbitMQ的零依赖Erlang
#执行如下命令:下载并执行RPM脚本。其中会下载仓库地址配置文件到/etc/yum.repos.d/目录下
> curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
#执行如下命令进行安装最新版本的Erlang
#或者指定版本sudo yum install erlang-22.3-1.el7.x86_64
> sudo yum install erlang
复制代码
*方式二:Erlang解决方案的Yum仓库中的Erlang
遵循Erlang解决方案中“Download”下的说明。
注意,Erlang解决方案往往提供最新的Erlang版本,RabbitMQ可能支持也可能不支持这些版本。当使用此选项安装Erlang时,建议使用绑定的版本。
方式三:Erlang解决方案的单模块Erlang
从Erlang解决方案下载并安装适当的esl-erlang RPM。
方式四:openSUSE的Erlang
openSUSE仓库提供了Erlang,因此可以使用Zypper安装它:
> sudo zypper in erlang
复制代码
在标准仓库中可用的Erlang版本实际上会落后于最新的版本。要使用带有最新功能的最新版本,请添加用于Erlang的openSUSE工厂仓库:
# add the openSUSE erlang factory, obs:// extracts the http url for the matching distro.
> sudo zypper ar -f obs://devel:languages:erlang:Factory openSUSE-Erlang-Factory
# import the signing key and refresh the repository
> sudo zypper --gpg-auto-import-keys refresh
# install a recent Erlang version
> sudo zypper in erlang
复制代码
方式五:EPEL仓库的Erlang
按照EPEL FAQ中的步骤在目标机器上启用EPEL,然后作为root用户运行以下命令:
> yum install erlang
复制代码
安装Socat
从Socat官网下安装包安装即可!
安装RabbitMQ
*方式一:使用PackageCloud的Yum仓库
可以从PackageCloud获得包含RabbitMQ安装包的Yum仓库。
一个快速安装的方式是使用PackageCloud脚本,也可以使用PackageCloud通过yum安装最新的Erlang版本。
更多的安装选项:
1. 使用PackageCloud Chef Cookbook
2. 使用PackageCloud Puppet模块
3. 手动
PackageCloud使用自己的GPG密钥的发布安装包。到2018年底,PackageCloud正在进行签名密钥迁移。与依赖“master key”不同,项目将迁移到使用特定于仓库的签名键。在迁移完成之前,为了向前兼容,新旧密钥都必须导入:
# import the new PackageCloud key that will be used starting December 1st, 2018 (GMT)
> rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
# import the old PackageCloud key that will be discontinued on December 1st, 2018 (GMT)
> rpm --import https://packagecloud.io/gpg.key
复制代码
在导入两个密钥之后,请遵循PackageCloud仓库的设置说明。
方式二:使用Bintray的Yum仓库
可以从Bintray的Yum仓库中获取RabbitMQ安装包。安装包页面提供一个仓库设置帮助,最新版本的Erlang也可以通过Bintray的Yum仓库进行安装。
在使用Bintray的Yum仓库之前,必须先导入RabbitMQ的签名,这是为了RPM工具信任Yum仓库所提供的安装包。
> rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
复制代码
为了使用Yum仓库,必须在/etc/yum.repos.d/目录下添加一个.repo文件,内容类似如下:
CentOS 8
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
CentOS 7
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
CentOS 6
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/6/
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
OpenSUSE
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/opensuse/42.1/
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
SLES 11.x:
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/sles/11
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
CentOS 7 且 RabbitMQ 3.7
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
复制代码
*方式三:下载并使用RPM
下载RabbitMQ安装包后,使用root用户执行如下命令:
> rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
# This example assumes the CentOS 8 version of the package.
# For CentOS 7, replace "el8" with "el7".
> yum install rabbitmq-server-3.8.3-1.el8.noarch.rpm
复制代码
或者
> rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
# This example assumes the CentOS 8 version of the package.
# For CentOS 7, replace "el8" with "el7".
> yum install rabbitmq-server-3.8.3-1.el8.noarch.rpm
复制代码
运行RabbitMQ
安装RabbitMQ服务时,RabbitMQ服务默认不作为守护进程启动。在系统启动时(作为管理员运行时)默认启动守护进程:
> chkconfig rabbitmq-server on
复制代码
启动与关闭RabbitMQ服务:
> /sbin/service rabbitmq-server start
> /sbin/service rabbitmq-server stop
复制代码