跳至主要內容

RabbitMQ 3.7.x 版本 安装

Scarb大约 3 分钟

原文地址:http://hscarb.github.io/rabbitmq/20220408-rabbitmq-3.7-install.htmlopen in new window

RabbitMQ 3.7.x 版本 安装

本文讲解 Ubuntu 下 RabbitMQ 3.7 版本的安装。

1. Erlang 22.x 安装

RabbitMQ 3.7 版本依赖 Erlang 21.3 ~ 22.x 版本。

https://www.rabbitmq.com/which-erlang.html#eol-seriesopen in new window

首先需要安装 Erlang。

最简单的 Erlang 安装方法是用 Erlang-Solution 提供的安装包。

https://www.erlang-solutions.com/downloads/open in new window

1.1 .deb 安装包安装

进入上述网页,选择 Erlang OTP

在此处选择对应版本的 Erlang 安装包下载,并传到 Ubuntu 服务器目录。

随后执行

dpkg -i esl-erlang_22.3.4.9-1_ubuntu_focal_amd64.deb

第一次执行会报如下错误

Selecting previously unselected package esl-erlang.
(Reading database ... 148404 files and directories currently installed.)
Preparing to unpack esl-erlang_22.3.4.9-1_ubuntu_focal_amd64.deb ...
Unpacking esl-erlang (1:22.3.4.9-1) ...
dpkg: dependency problems prevent configuration of esl-erlang:
 esl-erlang depends on libncurses5; however:
  Package libncurses5 is not installed.
 esl-erlang depends on libwxbase2.8-0 | libwxbase3.0-0 | libwxbase3.0-0v5; however:
  Package libwxbase2.8-0 is not installed.
  Package libwxbase3.0-0 is not installed.
  Package libwxbase3.0-0v5 is not installed.
 esl-erlang depends on libwxgtk2.8-0 | libwxgtk3.0-0 | libwxgtk3.0-0v5 | libwxgtk3.0-gtk3-0v5; however:
  Package libwxgtk2.8-0 is not installed.
  Package libwxgtk3.0-0 is not installed.
  Package libwxgtk3.0-0v5 is not installed.
  Package libwxgtk3.0-gtk3-0v5 is not installed.
 esl-erlang depends on libsctp1; however:
  Package libsctp1 is not installed.

dpkg: error processing package esl-erlang (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 esl-erlang

这是因为缺少一些依赖包,执行如下命令安装。

# sudo apt-get install -f

Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libncurses5 libsctp1 libtinfo5 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
Suggested packages:
  lksctp-tools
The following NEW packages will be installed:
  libncurses5 libsctp1 libtinfo5 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
0 upgraded, 5 newly installed, 0 to remove and 105 not upgraded.
1 not fully installed or removed.
Need to get 5,521 kB/5,529 kB of archives.
After this operation, 22.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

选择 Y 后,系统会自动安装依赖包。

随后再执行

dpkg -i esl-erlang_22.3.4.9-1_ubuntu_focal_amd64.deb

安装 Erlang

1.2 apt 安装

或者可以根据 Erlang-Solution 提供的 Installation using repository 指引进行安装。

这里如果是 Ubuntu 20 版本,需要在 /etc/apt/sources.list 中添加

deb https://packages.erlang-solutions.com/ubuntu focal contrib

其中 focal 这些是 Ubuntu 的版本代号。

随后更新 apt 缓存,安装 Erlang。注意此时需要指定安装 Erlang 的版本

sudo apt-get update
sudo apt-get install erlang=1:22.3.4.9-1

2. 安装 RabbitMQ

去 Github 发布页面下载对应的 RabbitMQ 版本的 .deb 安装包

全部安装包列表

https://github.com/rabbitmq/rabbitmq-server/tagsopen in new window

3.7.27 版本

https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.27open in new window

下载后复制到服务器上安装

# dpkg -i rabbitmq-server_3.7.27-1_all.deb

(Reading database ... 153046 files and directories currently installed.)
Preparing to unpack .../rabbitmq-server_3.7.27-1_all.deb ...
Unpacking rabbitmq-server (3.7.27-1) over (3.7.27-1) ...
dpkg: dependency problems prevent configuration of rabbitmq-server:
 rabbitmq-server depends on socat; however:
  Package socat is not installed.

提示缺少 socat 这个包,于是手动安装

apt-get install socat

随后再次执行

dpkg -i rabbitmq-server_3.7.27-1_all.deb

RabbitMQ 被正确安装,运行

rabbitmqctl cluster_status
rabbitmqctl status

查看当前节点状态

3. RabbitMQ 卸载

https://stackoverflow.com/questions/39664283/how-to-remove-rabbitmq-so-i-can-reinstallopen in new window

sudo apt-get remove --auto-remove rabbitmq-server
sudo apt-get purge --auto-remove rabbitmq-server

欢迎关注公众号【消息中间件】(middleware-mq),更新消息中间件的源码解析和最新动态!