RabbitMQ 安装教程
特殊说明
因为RabbitMQ
基于Erlang
开发,所以安装时需要先安装Erlang
RabbitMQ
和Erlang
版本对应关系
查看地址:www.rabbitmq.com/which-erlan…
环境选择
Erlang
: 23.3
及以上
RabbitMQ`: `3.10.1
Windows
安装
1. 安装Erlang
- 下载地址:www.erlang.org/downloads
- 根据图形化界面安装完成即可
- 配置环境变量
ERLANG_HOME
, 值为Erlang
安装目录
- 增加
Erlang
变量至Path
,值为%ERLANG_HOME%\bin
- 验证,打开
cmd
命令框,输入erl
(假如没有生效,建议重启电脑)
2. 安装RabbitMQ
- 下载地址:www.rabbitmq.com/install-win…
- 根据图形化界面安装完成即可
- 查看状态,打开
cmd
,进入到rabbitmq
的sbin
目录下,执行rabbitmqctl status
- 安装管理页面插件,在
sbin
目录下执行rabbitmq-plugins enable rabbitmq_management
- 启动,在
sbin
目录下,执行rabbitmq-server
- 打开管理页面,输入用户名(
guest
)和密码(guest
)
3. 踩坑
启动时出现端口(25672
)占用情况
cmd复制代码2022-05-17 11:36:51.529000+08:00 [warn] <0.129.0> Using RABBITMQ_ADVANCED_CONFIG_FILE: c:/Users/zbc/AppData/Roaming/RabbitMQ/advanced.config
2022-05-17 11:36:52.015000+08:00 [erro] <0.129.0>
2022-05-17 11:36:52.015000+08:00 [erro] <0.129.0> BOOT FAILED
2022-05-17 11:36:52.015000+08:00 [erro] <0.129.0> ===========
2022-05-17 11:36:52.015000+08:00 [erro] <0.129.0> ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@LAPTOP-0KRHB2H6
2022-05-17 11:36:52.015000+08:00 [erro] <0.129.0>BOOT FAILED
===========
ERROR: could not bind to distribution port 25672, it is in use by another node: rabbit@LAPTOP-0KRHB2H6
- 查找端口占用
netstat -aon|findstr "25672"
- 关闭
taskkill/pid 24520 /F
,24520
是pid
- 重新启动
docker
安装
shell
复制代码docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 rabbitmq:management
Linux
安装
环境:CentOS 7
1. 安装Erlang
- 安装
shell
复制代码sudo yum install erlang
- 验证
shell
复制代码erl
- 踩坑
由于CentOS 7
版本限制,不能下载最新的erlang 24
等版本,所以一直卡在缺失依赖等问题上,最后选择CentOS
上的当前相对比较新的版本23
,最后也通过make install
安装成功最新版本,但是对rabbitmq
启动时有影响。
2. 安装RabbitMQ
- 下载
rabbitmq
,下载比较慢可以先下载,然后再上传
shell
复制代码wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.1/rabbitmq-server-3.10.1-1.el8.noarch.rpm
- 安装
shell
复制代码 sudo rpm -ivh /home/zbc/rabbitmq-server-3.10.1-1.el8.noarch.rpm
- 验证
shell
复制代码whereis rabbitmqctl
- 启用可视化插件
shell
复制代码sudo rabbitmq-plugins enable rabbitmq_management
- 启动
shell
复制代码sudo systemctl start rabbitmq-server
- 关闭防火墙,不关闭防火墙,外面不能访问
shell
复制代码systemctl stop firewalld.service
3. 访问控制台界面
- 访问地址:http://ip:15672
- 创建用户、设置权限,在其他机器不能使用
guest
账号了,因为guest
账号只能在本机登录
shell复制代码#创建用户名admin,密码123456
sudo rabbitmqctl add_user admin 123456
#设置admin为超级管理员
sudo rabbitmqctl set_user_tags admin administrator
#重启服务
sudo systemctl restart rabbitmq-server
- 登录
要是遇到打不开,检查http
请求,必须用http
,不能用https
常用命令
服务的启动与关闭
shell复制代码# 启动
rabbitmqctl start_app
systemctl start rabbitmq-server# 关闭
rabbitmqctl stop_app
systemctl stop rabbitmq-server# 重启
systemctl restart rabbitmq-server
用户管理
shell复制代码#创建用户
rabbitmqctl add_user {username} {password}
#删除用户
rabbitmqctl delete_user {username}
#修改密码
rabbitmqctl change_password {username} {newPassword}#用户列表
rabbitmqctl list_users#设置角色 tag可选administrator monitoring policymaker management
rabbitmqctl set_user_tags {username} {tag ...}
插件管理
shell复制代码#开启某个插件
rabbitmq-plugins enable {pluginName}
#关闭某个插件
rabbitmq-plugins disable {pluginName}
权限管理
shell复制代码#设置权限
#Vhostpath:Vhost路径
#user:用户名
#Conf:一个正则表达式match哪些配置资源能够被该用户访问
#Write:一个正则表达式match哪些配置资源能够被该用户读
#Read:一个正则表达式match哪些配置资源能够被该用户访问
set_permissions [-p vhostpath] {user} {conf} {write} {read}