RabbitMQ和Erlang/OTP兼容性矩阵
下表提供了当前支持的RabbitMQ版本系列的Erlang兼容性矩阵。对于已达到生命周期结束的RabbitMQ版本,请参阅不支持的系列兼容性列表。官网地址:https://www.rabbitmq.com/docs/which-erlang
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| RabbitMQ版本 | 最小支持版本 | 最大支持版本 | 备注 |
| * 4.0.2 * 4.0.1 | * 26.2 | * 26.2.x | 4.0版本系列与Erlang 26.2兼容。 |
| * 3.13.7 * 3.13.6 * 3.13.5 * 3.13.4 * 3.13.3 * 3.13.2 * 3.13.1 * 3.13.0 | * 26.0 | * 26.2.x | 3.13版本系列与Erlang 26兼容。 从Erlang 26开始,TLS客户端对等验证默认由TLS实现启用。如果未配置客户端TLS证书和密钥对,启用TLS的Shovels、联合链接和LDAP服务器连接将失败。如果不需要对等验证,可以禁用它。 Erlang中的OpenSSL 3支持被认为已经成熟,可以投入生产使用。 Erlang 26.1及更高版本在OpenSSL 3上支持FIPS模式 |
| * 3.12.13 * 3.12.12 * 3.12.11 * 3.12.10 | * 25.0 | * 26.2.x | 3.12版本系列与Erlang 26兼容。 从Erlang 26开始,TLS客户端对等验证默认由TLS实现启用。如果未配置客户端TLS证书和密钥对,启用TLS的Shovels、联合链接和LDAP服务器连接将失败。如果不需要对等验证,可以禁用它。 Erlang中的OpenSSL 3支持被认为已经足够成熟,可以用于生产。 Erlang 26.1及更高版本在OpenSSL 3上支持FIPS模式 |
| * 3.12.9 * 3.12.8 * 3.12.7 * 3.12.6 * 3.12.5 | * 25.0 | * 26.1.x | 3.12版本系列与Erlang 26兼容。 从Erlang 26开始,TLS客户端对等验证默认由TLS实现启用。如果未配置客户端TLS证书和密钥对,启用TLS的Shovels、联合链接和LDAP服务器连接将失败。如果不需要对等验证,可以禁用它。 Erlang中的OpenSSL 3支持被认为已经足够成熟,可以用于生产。 Erlang 26.1在OpenSSL 3上支持FIPS模式 |
| * 3.12.4 * 3.12.3 * 3.12.2 * 3.12.1 * 3.12.0 | * 25.0 | * 26.0.x | 3.12版本系列与Erlang 26兼容。 Erlang中的OpenSSL 3支持被认为已经足够成熟,可以用于生产。 |
| * 3.11.28 * 3.11.27 * 3.11.26 * 3.11.25 * 3.11.24 * 3.11.23 * 3.11.22 * 3.11.21 * 3.11.20 * 3.11.19 * 3.11.18 * 3.11.17 * 3.11.16 * 3.11.15 * 3.11.14 * 3.11.13 * 3.11.12 * 3.11.11 * 3.11.10 * 3.11.9 * 3.11.8 * 3.11.7 * 3.11.6 * 3.11.5 * 3.11.4 * 3.11.3 * 3.11.2 * 3.11.1 * 3.11.0 | * 25.0 | * 25.3.x | 从RabbitMQ 3.12.0开始支持Erlang 26。 从Erlang 25.1开始,Erlang中的OpenSSL 3.0支持被认为已经足够成熟,可以用于生产。 25.0.2之前的Erlang 25受到CVE-2022-37026的影响,这是一个严重程度严重的CVE(CVSS 3.x基础分数:9.8) |
一、安装Erlang
直接到rabbitmq仓库中下载,安装包下载地址:https://github.com/rabbitmq/erlang-rpm/releases,这里要注意下载的版本名称与操作系统版本的对应关系,如**el7,el8,el9分别对应的是centos7、centos8、centos9版本。
**
bash
# 下载erlang
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v25.3.2.15/erlang-debuginfo-25.3.2.15-1.el7.x86_64.rpm
# 安装erlang
yum install ./erlang-debuginfo-25.3.2.15-1.el7.x86_64.rpm
# 查看erlang
erl -v
二、安装 RabbitMQ
1.进入rabbitmq仓库中下载,安装包下载地址:Releases · rabbitmq/rabbitmq-server · GitHub
2.选择名称中包含 noarch的rpm包
,表示该软件包是"无架构"(no architecture)特定的。这意味着该软件包不依赖于特定的硬件架构或操作系统架构,可以在任何架构上运行。
3.由于rabbitmq后期版本已经不在支持centos7,这里我选择3.8.30进行下载安装。
4.rabbitmq默认端口号:5672
bash
# 下载安装包
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.30/rabbitmq-server-3.8.30-1.el7.noarch.rpm
# rabbitmq的安装依赖socat
yum install socat -y
# 安装Rabbitmq
yum install ./rabbitmq-server-3.8.30-1.el7.noarch.rpm
三、常用命令
bash
# 启动服务
systemctl start rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 重启服务
systemctl restart rabbitmq-server
# 查看状态
systemctl status rabbitmq-server
四、rabbitmqctl 常用命令
-
基础服务操作
- 启动/关闭应用:rabbitmqctl start_app / rabbitmqctl stop_app
- 查看服务器状态:rabbitmqctl status
-
用户管理
- 添加用户:rabbitmqctl add_user <username> <password>
- 查看用户列表:rabbitmqctl list_users
- 删除用户:rabbitmqctl delete_user <username>
- 设置用户角色:rabbitmqctl set_user_tags <username> <tag>
-
虚拟主机管理
- 添加虚拟主机:rabbitmqctl add_vhost <vhost>
- 查看虚拟主机:rabbitmqctl list_vhosts
- 删除虚拟主机:rabbitmqctl delete_vhost <vhost>
-
权限管理
- 设置用户权限:rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>
- 查看用户权限:rabbitmqctl list_permissions [-p <vhost>]
五、开启web管理面板
1.启用管理插件实现可视化管理
2.rabbitmq默认端口号:15672,http://ip:15672/
bash
# 启用管理页面插件
rabbitmq-plugins enable rabbitmq_management
# 再次重启rabbitmq
systemctl restart rabbitmq-server
# 添加帐号和密码
rabbitmqctl add_user admin 123456
# 标识帐号这管理员
rabbitmqctl set_user_tags admin administrator
# 设置权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
六、安装延迟插件
下载延迟插件并安装:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/上下载 .ez 结尾的插件,将其上传到目录/usr/lib/rabbitmq/lib/rabbitmq_server-3.13.7/plugins,注意下载对应的版本,如这里我下载的是3.8可用的版本。
执行添加插件命令并重启:
bash
# 下载对应版本插件
wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.8.17/rabbitmq_delayed_message_exchange-3.8.17.8f537ac.ez
# 插件上传后启用延迟插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
# 重启rabbitmq服务
systemctl restart rabbitmq-serrver
插件安装后在管理页面可以看到对应的交换机:x-delayed-message。