一、Debian安装
sudo apt-update
查询可供安装的版本
sudo apt-cache policy rabbitmq-server
如果版本不对或者没有参考官网添加源:点我查看
sudo apt-get install rabbitmq-server
安装指定版本
sudo apt-get install package=version
二、Cenos7安装
1、安装 erlang
由于RabbitMQ是基于Erlang语言开发, 所以在安装RabbitMQ之前, 需要先安装Erlang
到这个地址 点我查看 或到 erlang 官网 下载最新版 erlang
我下载的是:erlang-22.3.4.12-1.el7.x86_64.rpm
wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-22.3.4.12-1.el7.x86_64.rpm/download.rpm
yum localinstall erlang-22.3.4.12-1.el7.x86_64.rpm
如果安装报错可能需要下载最新的rpm包
测试是否安装成功:输入命令 erl,看是否成功
2、安装RabbitMQ
下载 rpm 包,地址:点我查看 或 RabbitMQ 官网
我下载的是:rabbitmq-server-3.8.13-1.el7.noarch.rpm
wget --content-disposition https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.13-1.el7.noarch.rpm/download.rpm
安装 RabbitMQ 公共库秘钥
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装 rpm 包
yum localinstall rabbitmq-server-3.8.13-1.el7.noarch.rpm
如果安装报错可能需要下载最新的rpm包
三、启动 RabbitMQ
systemctl start rabbitmq-server
添加开机启动
systemctl enable rabbitmq-server
或
chkconfig rabbitmq-server on
四、添加用户,添加 vhost,启动插件,进入管理控制台
# guest用户只能用于localhost访问
# 添加用户跟密码
rabbitmqctl add_user test test123
# 添加虚拟主机
rabbitmqctl add_vhost test_vhost
# 为用户添加标签 test_tag 为自定义组
rabbitmqctl set_user_tags test test_tag
# 设置用户为管理员
rabbitmqctl set_user_tags test administrator
# 设置 test 用户对 test_vhost 的权限
rabbitmqctl set_permissions -p test_vhost test ".*" ".*" ".*"
# 设置 test 用户对根空间的权限
rabbitmqctl set_permissions -p / test '.*' '.*' '.*'
# 查看vhost权限
rabbitmqctl list_permissions -p /
# 启用web管理界面,访问 ip:15672 即可进入管理界面
rabbitmq-plugins enable rabbitmq_management
其他常用命令
# 查看rabbitmq服务状态:
service rabbitmq-server status
# 启动服务
service rabbitmq-server start
# 停止服务
service rabbitmq-server stop
# 重启服务
service rabbitmq-server restart
# 设置开机启动
chkconfig rabbitmq-server on
# 开启管控台
rabbitmq-plugins enable rabbitmq_management
# 关闭管控台
rabbitmq-plugins disable rabbitmq_management
# 查看所有用户
rabbitmqctl list_users
# 查看某个用户权限
rabbitmqctl list_user_permissions zhaobl
# 查看所有虚拟空间
rabbitmqctl list_vhosts
# 删除指定用户
rabbitmqctl delete_user zhaobl
五、配置文件
vim /etc/rabbitmq/rabbitmq.conf
开启局域网访问:
listeners.tcp.default = 0.0.0.0:5672
六、卸载
6.1 Debian卸载
apt-get remove rabbitmq-server --purge
apt-get autoremove
6.2 Cenos7卸载
先使用命令查看安装的 erlang
yum list installed | grep erlang
使用如下命令删除所有的 erlang
yum remove erlang-*.x86_64
yum remove erlang
yum remove erlang.x86_64
删除完成后可以再使用第一个命令查看一下还有没有剩余的
卸载原有的 RabbitMQ
yum remove rabbitmq-server
同时把 RabbitMQ 可能残留的文件夹删除
rm -rf /usr/lib/rabbitmq
七、常见错误
- 因为开启SElinux无法启动,解决办法:关闭SElinux
- 因为开启防火墙无法访问管理页面,解决办法:关闭防火墙
-
inequivalent arg 'durable' for exchange 'csExchange' in vhost '/': received,原因+解决办法:使用不同的MQ客户端时,常常会出现以上错误信息。例如使用php作为product,使用java, rubby, python作为consume。最常见的原因是:durable,auto_delete,passive参数不一致,保持参数一致性就ok了
-
启动失败参考:点我查看
参考:
https://blog.csdn.net/qq_41567818/article/details/128661605