如何在 Linux 上部署 RabbitMQ

如何在 Linux 上部署 RabbitMQ

TOC

RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisant.cn/rta


RabbitMQ 是由 Erlang 语言编写的,也正因如此,在安装 RabbitMQ 之前需要安装 Erlang 。建议采用较新版的 Erlang ,这样可以获得较多更新和改进,可以到官网下载。

安装 Erlang

从预构建的二进制包安装

大多数操作系统包管理器都提供预构建的二进制包。

  • 对于 macOS 上的 Homebrew:brew install erlang
  • 对于 macOS 上的 MacPorts:port install erlang
  • 对于 Ubuntu 和 Debian: apt-get install erlang
  • 对于 Fedora: yum install erlang
  • 对于 ArchLinux 和 Manjaro: pacman -S erlang
  • 对于 FreeBSD:pkg install erlang

操作系统提供的软件包往往不包含最新版本的 Erlang。因此下面我们将采用从源码安装的方式。

从源代码编译 Erlang

首先从Github下载源代码:https://github.com/erlang/otp/releases 。这里我将安装的版本为:26.1.2,下载的文件名为:otp_src_26.1.2.tar.gz

下载后放到合适的目录,然后解压并配置安装目录:

代码语言:shell
复制
$ tar zxvf otp_src_26.1.2.tar.gz
$ cd otp_src_26.1.2
$ ./configure --prefix=/opt/erlang

如果出现类似关键报错信息:No curses library functions found。那么此时需要安装 ncurses,安装步骤(遇到提示输入 y 后直接回车即可)如下:

代码语言:shell
复制
$ apt-get -y install libncurses5-dev

如果还有错误,根据错误说明,安装以下依赖:

代码语言:shell
复制
# Install the build tools (dpkg-dev g++ gcc libc6-dev make)  
$ apt-get -y install build-essential

Automatic configure script builder (debianutils m4 perl)

$ apt-get -y install autoconf

Needed for HiPE (native code) support, but already installed by autoconf

$ apt-get -y install m4

Needed for terminal handling (libc-dev libncurses5 libtinfo-dev libtinfo5 ncurses-bin)

$ apt-get -y install libncurses5-dev

For building ssl (libssh-4 libssl-dev zlib1g-dev)

$ apt-get -y install libssh-dev

ODBC support (libltdl3-dev odbcinst1debian2 unixodbc)

apt-get -y install unixodbc-dev</code></pre></div></div><p>安装 Erlang:</p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>shell</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-shell"><code class="language-shell" style="margin-left:0"> make
$ make install

修改/etc/profile配置文件,添加下面的环境变量:

代码语言:shell
复制
ERLANG_HOME=/opt/erlang
export PATH=PATH:ERLANG_HOME/bin
export ERLANG_HOME

最后执行如下命令让配置文件生效:

代码语言:shell
复制
 source /etc/profile</code></pre></div></div><p>可以输入 er1 命令来验证 Erlang 是否安装成功,如果出现类似以下的提示即表示安装成功:</p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>shell</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-shell"><code class="language-shell" style="margin-left:0"> erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.1 (abort with ^G)
1>

RabbitMQ 的安装

RabbitMQ 的安装比 Erlang 的安装要简单,直接将下载的安装包解压到相应的目录下即可,在官网下载。这里选择将 RabbitMQ 安装到与 Erlang 同一个目录(/opt)下面:

代码语言:shell
复制
$ tar -xf rabbitmq-server-generic-unix-3.12.8.tar.xz -C /opt
cd /opt</code></pre></div></div><p>同样修改<code>/etc/profile</code> 文件,添加下面的环境变量:</p><div class="rno-markdown-code"><div class="rno-markdown-code-toolbar"><div class="rno-markdown-code-toolbar-info"><div class="rno-markdown-code-toolbar-item is-type"><span class="is-m-hidden">代码语言:</span>txt</div></div><div class="rno-markdown-code-toolbar-opt"><div class="rno-markdown-code-toolbar-copy"><i class="icon-copy"></i><span class="is-m-hidden">复制</span></div></div></div><div class="developer-code-block"><pre class="prism-token token line-numbers language-txt"><code class="language-txt" style="margin-left:0">export PATH=PATH:/opt/rabbitmq_server-3.12.8/sbin
export RABBITMQ_HOME=/opt/rabbitmq_server-3.12.8

之后执行 source /etc/profile 命令让配置文件生效。

在修改了 /etc/profile 配置文件之后,可以任意打开一个 Shell 窗口,输入如下命令以运行 RabbitMQ 服务:

代码语言:shell
复制
$ rabbitmq-server -detached

rabbitmq-server 命令后面添加一个 -detached 参数是为了能够让 RabbitMQ 服务以守护进程的方式在后台运行,这样就不会因为当前 Shell 窗口的关闭而影响服务。

可以运行 rabbitmqctl status 命令查看 RabbitMQ 是否正常启动。

使用 RabbitMQ Assistant 连接

RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisant.cn/rta