1、安装 erlang
由于RabbitMQ是基于Erlang语言开发, 所以在安装RabbitMQ之前, 需要先安装Erlang
第一种方法:下载配置源,通过yum安装
下载配置文件
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
配置源
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum安装erlang
yum install erlang -y
第二种方法:到 erlang 官网下载最新版 erlang,地址:https://www.erlang-solutions.com/resources/download.html
我下载的是:22.2.2 CentOS7(64-bit) , esl-erlang_22.2.2-1_centos_7_amd64.rpm
rpm -ivh esl-erlang_22.2.2-1_centos_7_amd64.rpm
如果安装报错可能需要下载最新的rpm包
测试是否安装成功:输入命令 erl,看是否成功
2、安装RabbitMQ
方法一:
下载 rpm 包,地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/ ,找到对应版本
我下载的是:rabbitmq-server-3.8.2-1.el7.noarch.rpm
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.8.2/rabbitmq-server-3.8.2-1.el7.noarch.rpm
安装
yum install rabbitmq-server-3.8.2-1.el7.noarch.rpm
方法二:
下载 rpm 包,地址:RabbitMQ 官网,https://www.rabbitmq.com/install-rpm.html
我下载的是:rabbitmq-server-3.8.2-1.el7.noarch.rpm
安装 RabbitMQ 公共库秘钥
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安装 rpm 包
rpm -ivh rabbitmq-server-3.8.2-1.el7.noarch.rpm
如果安装报错可能需要下载最新的rpm包
3、设置配置文件
默认配置文件路径 /etc/rabbitmq,
自己创建文件 rabbitmq.conf ,可以复制 rabbitmq.conf.example
自己创建文件 rabbitmq-env.conf,添加如下内容:
RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq
更详细的配置文件说明可以看这里:https://www.linuxidc.com/Linux/2019-03/157354.htm
4、启动 RabbitMQ
添加开机启动
chkconfig rabbitmq-server on
常用命令:
查看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 add_user zhaobl 123456
配置权限
rabbitmqctl set_permissions -p "/" zhaobl ".*" ".*" ".*"
查看用户权限
rabbitmqctl list_user_permissions zhaobl
设置tag
rabbitmqctl set_user_tags zhaobl administrator
删除用户(安全起见,删除默认用户)
rabbitmqctl delete_user guest
5、启动插件,添加用户,进入管理控制台
# 启用web管理界面
rabbitmq-plugins enable rabbitmq_management
# guest用户只能用于localhost访问
# 添加新用户及授权
rabbitmqctl add_user fort fort
rabbitmqctl set_user_tags fort administrator
rabbitmqctl set_permissions -p / fort '.*' '.*' '.*'
rabbitmqctl list_permissions
# 访问ip:15672即可进入管理界面
6、常见错误
inequivalent arg 'durable' for exchange 'csExchange' in vhost '/': received,原因+解决办法:使用不同的MQ客户端时,常常会出现以上错误信息。例如使用php作为product,使用java, rubby, python作为consume。最常见的原因是:durable,auto_delete,passive参数不一致,保持参数一致性就ok了
参考:
https://www.cnblogs.com/yang-hao/p/11737646.html
https://www.jianshu.com/p/ed07a5a913c6