如何在 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
下载后放到合适的目录,然后解压并配置安装目录:
$ 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 后直接回车即可)如下:
$ apt-get -y install libncurses5-dev
如果还有错误,根据错误说明,安装以下依赖:
# 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
配置文件,添加下面的环境变量:
ERLANG_HOME=/opt/erlang
export PATH=PATH:ERLANG_HOME/bin
export ERLANG_HOME
最后执行如下命令让配置文件生效:
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)下面:
$ 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 服务:
$ rabbitmq-server -detached
在 rabbitmq-server
命令后面添加一个 -detached
参数是为了能够让 RabbitMQ 服务以守护进程的方式在后台运行,这样就不会因为当前 Shell 窗口的关闭而影响服务。
可以运行 rabbitmqctl status
命令查看 RabbitMQ 是否正常启动。
使用 RabbitMQ Assistant 连接
RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具,提供丰富的管理功能。下载地址:https://www.redisant.cn/rta