在安装RabbitMQ之前,需要安装Erlang/OTP支持的版本。RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的。
再确定要下载的RabbitMQ的版本号之后,访问网址选择Erlang版本查看匹配对应Erlang的版本号,并进行下载。
本次下载RabbitMQ版本为3.10.0-1对应的Erlang版本为23.3.4.11-1
RabbitMQ: 3.10.0-1
Erlang: 23.3.4.11-1
一、准备
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0
关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
安装存储库:
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | bash
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash
下载rpm安装包:下载对应的版本
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.11-1.el7.x86_64.rpm/download.rpm?distro_version_id=205
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.10.0-1.el7.noarch.rpm/download.rpm?distro_version_id=205
二、安装
yum install -y erlang-23.3.4.11-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.10.0-1.el7.noarch.rpm
启动服务、并设置开机服务:
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
三、配置
开启远程登录
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_mqtt
添加用户及权限
rabbitmqctl add_user admin 你RabbitMQ的密码
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
登录页面查看
四、RabbitMQ命令
服务操作命令
sudo systemctl start rabbitmq-server.service
# 查看rabbitmq启动状态
sudo systemctl status rabbitmq-server.service
# 停止rabbitmq服务
sudo systemctl stop rabbitmq-server.service
# 重启rabbitmq服务
sudo systemctl restart rabbitmq-server.service
# 开机自启动服务
sudo systemctl enable rabbitmq-server.service
# 查看rabbitmq开机启动状态 enabled:开启, disabled:关闭
sudo systemctl is-enabled rabbitmq-server.service
# 禁止开启启动
sudo systemctl disable rabbitmq-server.service
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_web_stomp
服务维护命令
# 创建账号hf 密码Test@2022
rabbitmqctl add_user hf Test@2022
rabbitmqctl set_user_tags hf administrator
rabbitmqctl set_permissions -p / hf "." "." ".*"
#查看当前用户命令:
rabbitmqctl list_users
#创建用户hf 密码: Test@2022
rabbitmqctl add_user hf Test@2022
#将用户给于管理员权限
rabbitmqctl set_user_tags hf administrator
#查看用户权限
rabbitmqctl list_user_permissions hf
#设置用户权限(接受来自所有Host的所有操作)
rabbitmqctl set_permissions -p "/" hf '.*' '.*' '.*'
#查看插件
rabbitmq-plugins list
#启用WEB管理界面插件,管理控制台的默认端口是:15672
#浏览器访问:http://121.36.31.124:15672/ 输入用户名和密码
rabbitmq-plugins enable rabbitmq_management
#启用MQTT插件,默认端口mqtt是:1883 mqtt://127.0.0.1:1883
#可以使用EMQ的MQTTX客户端工具连接,或者MQTTLens工具
rabbitmq-plugins enable rabbitmq_mqtt
#启用MQTT的websocket插件,默认端口websocket是:15675 ws://127.0.0.1:15675/ws
#注意: path是 /ws
rabbitmq-plugins enable rabbitmq_web_mqtt
#查看启动的端口
netstat -tpnl
#TTL政策将删除指定的时间到期后未使用的队列30分钟. beam.smp high cpu load
rabbitmqctl set_policy expiry ".*" '{"expires":1800000}' --apply-to queues
#从队列维度设置消息超时时间 60秒:
rabbitmqctl set_policy TTL ".*" '{"message-ttl":60000}' --apply-to queues