官网:https://www.rabbitmq.com/
RabbitMQ是部署最广泛的开源消息代理。
RabbitMQ拥有成千上万的用户,是最流行的开源消息代理之一。从T-Mobile到Runtastic, RabbitMQ在全球范围内广泛应用于小型初创企业和大型企业。
RabbitMQ是轻量级的,易于部署在premises和云中。它支持多种消息传递协议。RabbitMQ可以以分布式和联合的方式部署,以满足高规模、高可用性的需求。
RabbitMQ运行在许多操作系统和云环境上,并为最流行的语言提供了广泛的开发工具。
下载地址:https://www.rabbitmq.com/download.html
这里以Linux
系统进行举例,我使用的是CentOS7的镜像,可以选择对应版本
RabbitMQ是基于Erlang开发,所以想要使用RabbitMQ,需要安装Erlang
查看对应版本的Erlang
网址:https://www.rabbitmq.com/which-erlang.html
该处是对应的,不可以让Erlang版本超出范围
下载地址:https://www.erlang-solutions.com/
[root@localhost ~]# mkdir -p /usr/rabbitmq # 在/usr文件夹下创建rabbitmq文件夹
[root@localhost ~]# cd /usr/rabbitmq # 进入/usr/rabbitmq 文件夹下
[root@localhost rabbitmq]#
使用X-ftp
将下载的文件移动到该文件下
rpm -Uvh erlang-23.3.1-1.el7.x86_64.rpm # 后面的文件名改为下载的文件名
yum install -y erlang #安装erlang , 这里可能会报错
yum list | grep erlang # 查询erlang在系统中安装包的名字 , 如果显示installed 不用执行上面的安装
erl -v #查看erlang版本
yum install -y socat
rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm
yum install rabbitmq-server -y
# 启动服务
systemctl start rabbitmq-server
# 查看服务状态,如图
systemctl status rabbitmq-server.service
# 开机自启动
systemctl enable rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
yum update #yum 更新到最新
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装需要的软件包
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #设置yum源为阿里云
yum install docker-ce -y #安装docker
docker -v #查看docker版本
配置Docker镜像
[root@localhost rabbitmq]# mkdir -p /etc/docker
[root@localhost rabbitmq]# tee /etc/docker/daemon.json <<-'EOF'
>
> {
> "registry-mirrors": ["https://9vqg1xqp.mirror.aliyuncs.com"]
> }
> EOF
重启、查看docker状态
systemctl daemon-reload
systemctl restart docker #重启docker
systemctl status daocker #查看docker状态
docker images #查看docker镜像
#启动docker:
systemctl start docker
#停止docker:
systemctl stop docker
#重启docker:
systemctl restart docker
#查看docker状态
systemctl status docker
#开机启动
systemctl enable docker
systemctl unenable docker
#查看docker概要信息
docker info
#查看docker帮助文档
docker --help
获取rabbit镜像
docker pull rabbitmq:management
创建并运行容器
docker run -di --name=myrabbit -p 15672:15672 rabbitmq:management
docker ps -a #查看容器
docker images #查看镜像
docker start 3da6ff4c1cd4 #启动,最后的一串和容器中名字对应
这时候,访问路径: 你的IP地址:15672 (账号密码:guest)
小提示
如果你关机时,docker中rabbitmq容器没有关闭,再次开启时可能出现端口错误 ,记得关闭容器
docker ps #查看容器 docker stop xxx #关闭容器
默认情况下,rabbitmq是没有安装web端的客户端插件,需要安装才可以生效
rabbitmq-plugins enable rabbitmq_management
之后重启服务
systemctl restart rabbitmq-server
之后可以进入网址:你的ip地址:15672 (例如:192.168.57.129:15672
)
linux ip地址查看方法:
ifconfig
正常进入的页面为:
说明:rabbitmq有一个默认账号和密码是:
guest
, 默认情况只能在本机(localhost
)下访问,所以需要添加一个远程登录的用户
首先关闭防火墙,依次输入即可
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
systemctl stop firewalld
授权账号和密码
用户级别 ( 设置操作权限时使用 ):
- administrator:可以登录控制台、查看所有信息、可以对 rabbitmq进行管理
- monitoring:监控者 登录控制台,查看所有信息
- policymaker:策略制定者 登录控制台,指定策略
- managment 普通管理员 登录控制台
最后会进行解析以上级别
rabbitmqctl add_user admin admin #新增 admin 用户
rabbitmqctl set_user_tags admin administrator #设置用户操作权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" #为用户添加资源权限
这时候使用 admin
用户 就可以登陆成功了
rabbitmqctl add_user 账号 密码 #添加新用户
rabbitmqctl set_user_tags 账号 administrator #设置用户操作权限 ,administrator可更改
rabbitmqctl change_password Username Newpassword #修改密码
rabbitmqctl delete_user Username #删除用户
rabbitmqctl list_users #查看用户清单
rabbitmqctl.bat set_permissions -p /用户名 ".*" "." ".*" #为用户添加资源权限
management plugin
AMQP
登入的虚拟机virtual hosts
的queues
,exchanges
和bindings
信息channels
和connections
virtual hosts
的统计信息,包括其他用户在这个节点 virtual hosts
中的活动信息,management
所有权限virtual hosts
所属的policies
和parameters
信息.management
所有权限virtual hosts
,包括不能登录的 virtual hosts
.connections
和channels
信息clustering
和memory
使用情况virtual hosts
的全局统计信息virtual hosts
users
permisssions
connections
个人博客为:
MoYu’s HomePage