简介
RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。
RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。
安装
rabbitmq在yum仓库中的版本比较老,所以我们需要手动构建yum仓库
-
准备yum仓库
# root执行 # 1. 准备gpgkey密钥 rpm --import https://github.com/rabbitmq/signingkeys/releases/download/2.0/rabbitmq-release-signing-key.asc rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey 通过导入这些 GPG 公钥,系统在安装 RabbitMQ 相关软件包时可以验证这些软件包的真实性和完整性,确保它们没有被篡改或损坏 # 2. 准备仓库文件 vim /etc/yum.repos.d/rabbitmq.repo # 填入如下内容 ## ## Zero dependency Erlang ## [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [rabbitmq_erlang-source] name=rabbitmq_erlang-source baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 ## ## RabbitMQ server ## [rabbitmq_server] name=rabbitmq_server baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 # PackageCloud's repository key and RabbitMQ package signing key gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [rabbitmq_server-source] name=rabbitmq_server-source baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS 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
-
安装RabbitMQ
# root执行 yum install erlang rabbitmq-server -y
会下载两个包 erlang.x86_64 0:23.3.4.11-1.el7 rabbitmq-server.noarch 0:3.10.0-1.el7
-
启动
# root执行 # 使用systemctl管控,服务名:rabbitmq-server systemctl enable rabbitmq-server # 开机自启 systemctl disable rabbitmq-server # 关闭开机自启 systemctl start rabbitmq-server # 启动 systemctl stop rabbitmq-server # 关闭 systemctl status rabbitmq-server # 查看状态
-
放行防火墙,RabbitMQ使用5672、15672、25672 3个端口
# 方式1(推荐),关闭防火墙 systemctl stop firewalld # 关闭 systemctl disable firewalld # 关闭开机自启 # 方式2,放行5672 25672端口 firewall-cmd --add-port=5672/tcp --permanent # 放行tcp规则下的5672端口,永久生效 firewall-cmd --add-port=15672/tcp --permanent # 放行tcp规则下的15672端口,永久生效 firewall-cmd --add-port=25672/tcp --permanent # 放行tcp规则下的25672端口,永久生效 firewall-cmd --reload # 重新加载防火墙规则
-
启动RabbitMQ的WEB管理控制台
rabbitmq-plugins enable rabbitmq_management
-
添加admin用户,并赋予权限
rabbitmqctl add_user admin '1234' 执行完这条命令后,RabbitMQ 将会创建一个用户名为 admin,密码为 '1234' 的新用户。命令输出的最后一行 Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more. 提示你已成功创建用户,并提醒你需要为这个用户授予一些虚拟主机的权限。你可以使用 rabbitmqctl help set_permissions 命令了解如何设置用户的权限。 rabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*" rabbitmqctl: 这是 RabbitMQ 的控制命令行工具,用于管理 RabbitMQ 的各种操作。 set_permissions: 这是 rabbitmqctl 的子命令,用于设置用户在指定虚拟主机(vhost)上的权限。 -p "/": 这是指定要设置权限的虚拟主机。在这里,"/" 表示默认虚拟主机。 "admin": 这是要设置权限的用户名。在这个例子中,用户名是 admin。 ".*" ".*" ".*": 这三个 ".*" 是权限参数,分别表示配置、写入和读取权限。正则表达式 ".*" 匹配任何字符,表示允许用户对所有内容具有完全的配置、写入和读取权限。 所以,执行这条命令后,用户 admin 将被授予在默认虚拟主机 / 上的完全权限,包括配置、写入和读取。 rabbitmqctl set_user_tags admin administrator rabbitmqctl: 这是 RabbitMQ 的控制命令行工具,用于管理 RabbitMQ 的各种操作。 set_user_tags: 这是 rabbitmqctl 的子命令,用于为用户设置标签(tags)。 admin: 这是要设置标签的用户名。在这个例子中,用户名是 admin。 administrator: 这是要为用户设置的标签。在 RabbitMQ 中,标签可以用来授予特定的权限或角色。administrator 标签通常用于赋予用户超级管理员权限,允许其执行所有管理操作,包括创建、删除用户、设置权限等。 所以,执行这条命令后,用户 admin 将被赋予 administrator 标签,即成为具有超级管理员权限的用户。
-
浏览器打开管理控制台
至此,RabbitMQ已经安装完成了。