安装RabbitMQ
获取安装包
RabbitMQ是采用 Erlang语言开发的,所以系统环境必须提供 Erlang环境,需要是安装 Erlang
Erlang和RabbitMQ版本对照:https://www.rabbitmq.com/which-erlang.html
可以在这个网站下载erlang:https://packagecloud.io/rabbitmq/erlang
在GitHub上可以下载RabbitMQ 的相关版本:https://github.com/rabbitmq/rabbitmq-server/tags
安装erlang
文件上传到
/usr/local/software
# 解压
rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm
# 安装
yum install -y erlang
然后报错,缺少相关的依赖,需要去这个地址下载:
https://rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10%28OPENSSL_1.0.2%29%2864bit%29&submit=Search%20...&system=&arch=
依然是上传到:/usr/local/software
# 把下载好的依赖给上传到服务器上面,执行命令:
rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force
继续执行安装erlang命令:
# 解压
rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm
# 安装
yum install -y erlang
安装成功后输入命令检查erlang版本
# 安装完成后输入如下指令查看版本号
erl -v
安装RabbitMQ
安装RabbitMQ之前先安装socat
# 安装socat
yum install -y socat
解压安装RabbitMQ
# 解压
rpm -Uvh rabbitmq-server-3.8.14-1.el7.noarch.rpm
# 安装
yum install -y rabbitmq-server
启动MQ并检查启动情况
# 启动rabbitmq
systemctl start rabbitmq-server
# 查看rabbitmq状态
systemctl status rabbitmq-server
其他的相关命令
# 设置rabbitmq服务开机自启动
systemctl enable rabbitmq-server
# 关闭rabbitmq服务
systemctl stop rabbitmq-server
# 重启rabbitmq服务
systemctl restart rabbitmq-server
MQ的web管理界面及其操作
安装相关插件
# 默认情况下,rabbitmq没有安装web端的客户端软件,需要安装才可以生效
# 打开RabbitMQWeb管理界面插件
rabbitmq-plugins enable rabbitmq_management
然后我们打开浏览器,访问服务器公网ip:15672,就可以看到管理界面
rabbitmq有一个默认的账号密码guest,但该情况仅限于本机localhost进行访问,所以需要添加一个远程登录的用户
注册用户授予权限
# 添加用户
rabbitmqctl add_user 用户名 密码
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
角色有四种:
administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
monToring:监控者;登录控制台,查看所有信息
policymaker:策略制定者;登录控制台指定策略
managment:普通管理员;登录控制
# 修改密码
rabbitmqctl change_ password 用户名 新密码
# 删除用户
rabbitmqctl delete_user 用户名
# 查看用户清单
rabbitmqctl list_users
注册用户授予权限操作
# 添加用户
rabbitmqctl add_user 用户名 密码
rabbitmqctl add_user admin 123456
# 设置用户角色,分配操作权限
rabbitmqctl set_user_tags 用户名 角色
rabbitmqctl set_user_tags admin administrator
# 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"