如何在 CentOS 7/CentOS 6 上安装 RabbitMQ如何在 CentOS 7/CentOS 6 上安装 RabbitMQ如何在 CentOS 7/CentOS 6 上安装 RabbitMQ如何在 CentOS 7/CentOS 6 上安装 RabbitMQ
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 CentOS 7/CentOS 6 上安装 RabbitMQ

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本指南将介绍在 CentOS 7/CentOS 6 服务器上安装 RabbitMQ 所需的步骤。我的实验室基于我之前的指南在 Linux 上使用 Vagrant 和 Libvirt。 RabbitMQ是一个实现AMQP(高级消息队列协议)的消息代理软件。

对于 Ubuntu,请检查:如何在 Ubuntu 上安装最新的 RabbitMQ 服务器

安装要求:

  1. EPEL 存储库
  2. Erlang 存储库
  3. RabbitMQ 存储库

我更喜欢使用存储库来安装 Rabbitmq 服务器和 Erlang,而不是使用 rpm 软件包,后者往往会带来软件包依赖性问题并且必须手动更新软件包。

第 1 步:设置系统主机名

您可以从配置服务器的主机名开始。

在 CentOS 6 上设置服务器主机名:

$ sudo vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=mq-01.example.com

进行更改后重新启动网络服务。

sudo /etc/init.d/network restart

然后确认当前主机名设置:

$ hostname 
mq-01.example.com

要临时设置当前 shell 会话的主机名,请使用:

sudo hostname mq-01.example.com

在 CentOS 7 上设置服务器主机名:

对于 CentOS 7 服务器,您可以使用 hostnamectl 命令轻松设置服务器主机名。

sudo hostnamectl set-hostname mq-01.example.com --static

步骤 2:添加 EPEL 存储库

使用 yum 命令将 epel 存储库添加到您的系统,如下所示:

sudo yum -y install epel-release wget

您可以使用以下命令检查存储库是否已添加并正常运行:

sudo yum repolist

第三步:安装Erlang

添加Erlang官方YUM存储库:

wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-2.0-1.noarch.rpm

然后安装Erlang RPM包:

sudo yum install erlang

接受安装提示并导入 GPG 密钥:

...
Transaction Summary
======================================================================================================================================================================================================
Install  1 Package (+91 Dependent packages)

Total download size: 62 M
Installed size: 163 M
Is this ok [y/d/N]: y

....
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                  16 MB/s |  62 MB  00:00:03
Retrieving key from file:///etc/pki/rpm-gpg//erlang_solutions.asc
Importing GPG key 0xA14F4FCA:
 Userid     : "Erlang Solutions Ltd. <[email >"
 Fingerprint: 4349 75bd 900c cbe4 f7ee 1b1e d208 507c a14f 4fca
 Package    : erlang-solutions-2.0-1.noarch (installed)
 From       : /etc/pki/rpm-gpg//erlang_solutions.asc
Is this ok [y/N]: y

通过检查版本和 CLI 工具访问来确认 Erlang 安装

$ erl
Erlang/OTP 24 [erts-12.0.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1]

Eshell V12.0.3  (abort with ^G)
1>
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
       (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
q

第4步:安装RabbitMQ服务器

添加 RabbitMQ 存储库:

运行以下命令将 RabbitMQ YUM 存储库添加到您的

cat << EOF | sudo tee /etc/yum.repos.d/rabbitmq.repo
[rabbitmq_rabbitmq-server]
name=rabbitmq_rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/\$releasever/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOF

更新存储库缓存

sudo yum clean all
sudo yum makecache

列出系统中配置的可用存储库:

$ sudo yum repolist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.constant.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirror.math.princeton.edu
 * updates: mirrors.advancedhosters.com
repo id                                                                                  repo name                                                                                              status
base/7/x86_64                                                                            CentOS-7 - Base                                                                                        10072
droplet-agent/x86_64                                                                     DigitalOcean Droplet Agent                                                                                 5
epel/x86_64                                                                              Extra Packages for Enterprise Linux 7 - x86_64                                                         13665
erlang-solutions/7/x86_64                                                                Centos 7 - x86_64 - Erlang Solutions                                                                    5704
extras/7/x86_64                                                                          CentOS-7 - Extras                                                                                        500
rabbitmq_rabbitmq-server/7/x86_64                                                        rabbitmq_rabbitmq-server                                                                                  78
updates/7/x86_64                                                                         CentOS-7 - Updates                                                                                      2747
repolist: 32771

安装rabbitmq-server 包。

sudo yum -y install rabbitmq-server

启动并启用rabbitmq-server以在启动时启动。

CentOS 7:

sudo systemctl enable --now rabbitmq-server

检查服务状态:

$ systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-09-13 09:19:14 UTC; 48s ago
 Main PID: 9636 (beam.smp)
   CGroup: /system.slice/rabbitmq-server.service
           ├─9636 /usr/lib64/erlang/erts-12.0.3/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -sbwt none -sbwtdc...
           ├─9651 erl_child_setup 32768
           ├─9676 /usr/lib64/erlang/erts-12.0.3/bin/epmd -daemon
           ├─9699 inet_gethost 4
           └─9700 inet_gethost 4

Sep 13 09:19:06 centos rabbitmq-server[9636]: Doc guides:  https://rabbitmq.com/documentation.html
Sep 13 09:19:06 centos rabbitmq-server[9636]: Support:     https://rabbitmq.com/contact.html
Sep 13 09:19:06 centos rabbitmq-server[9636]: Tutorials:   https://rabbitmq.com/getstarted.html
Sep 13 09:19:06 centos rabbitmq-server[9636]: Monitoring:  https://rabbitmq.com/monitoring.html
Sep 13 09:19:06 centos rabbitmq-server[9636]: Logs: /var/log/rabbitmq/[email 
Sep 13 09:19:06 centos rabbitmq-server[9636]: /var/log/rabbitmq/rabbit@centos_upgrade.log
Sep 13 09:19:06 centos rabbitmq-server[9636]: <stdout>
Sep 13 09:19:06 centos rabbitmq-server[9636]: Config file(s): (none)
Sep 13 09:19:14 centos rabbitmq-server[9636]: Starting broker... completed with 0 plugins.
Sep 13 09:19:14 centos systemd[1]: Started RabbitMQ broker.

CentOS 6:

使用以下命令在 CentOS 6 上启动该服务:

sudo chkconfig rabbitmq-server on
sudo chkconfig --list | grep rabbitmq
sudo service rabbitmq-server start

要使用RabbitMQ,请先添加用户。默认情况下,仅存在来宾用户,并且他可以从本地主机进行连接。

$ rabbitmqctl add_user admin NUaiMe0k
Adding user "admin" ...

$ rabbitmqctl set_user_tags admin administrator
$ rabbitmqctl list_users
Listing users ...
admin [administrator]
guest [administrator]

其他rabbitmqctl管理命令有:

删除用户:

rabbitmqctl delete_user user

更改用户密码:

rabbitmqctl change_password user strongpassword

添加虚拟主机:

rabbitmqctl add_vhost /my_vhost

列出虚拟主机:

rabbitmqctl list_vhosts

删除虚拟主机:

rabbitmqctl delete_vhost /my_vhost

授予用户对虚拟主机的权限:

rabbitmqctl set_permissions -p /my_vhost user ".*" ".*" ".*"

列出虚拟主机权限:

rabbitmqctl list_permissions -p /my_vhost

列出用户权限:

rabbitmqctl list_user_permissions user

删除用户权限:

rabbitmqctl clear_permissions -p /my_vhost user

第 5 步:启用 RabbitMQ UI

您可以启用管理插件以使用基于 Web 的界面来管理 RabbitMQ。

### For CentOS 7 ###
sudo rabbitmq-plugins enable rabbitmq_management
sudo systemctl restart rabbitmq-server

### For CentOS 6 ###
sudo service rabbitmq-server restart

配置防火墙

在防火墙上打开端口:

sudo firewall-cmd --add-port={4369/tcp,25672}/tcp --permanent

使用 Iptables:

sudo iptables -A INPUT -p tcp -m tcp --dport&nbsp;4369 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 25672 -j ACCEPT

访问 RabbitMQ 管理 Web 控制台

从客户端访问“http://server:15672/”:您应该看到一个登录窗口:

使用之前创建的用户名和密码登录:

下一篇要阅读的文章是:

  • 如何备份和恢复 RabbitMQ 数据和配置
©2015-2025 Norria support@norria.com