1、前景
RabbitMQ是用Erlang编写的,所以需要先安装Erlang的编译环境
注意
Erlang和RabbitMQ的版本是有一些版本匹配关系的,如果不匹配会导致RabbitMQ无法启动
点击查看版本关联信息
Erlang
RabbitMQ
2、安装Erlang
1
2
3
4
5
6
7
8
|
# 下载
wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_23.3.1-1~centos~7_amd64.rpm
# 安装
yum install esl-erlang_23.3.1-1~centos~7_amd64.rpm
# 如果有更高的版本需要覆盖安装使用这条
rpm -ivh esl-erlang_23.3.1-1~centos~7_amd64.rpm --replacefiles
|
2.1、检查是否安装成功
3、安装RabbitMQ
1
2
3
4
5
6
7
8
9
10
11
|
# 安装RabbitMQ密钥
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# 下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.14/rabbitmq-server-3.8.14-1.el7.noarch.rpm
# 安装
yum install rabbitmq-server-3.8.14-1.el7.noarch.rpm
# 配置Web页面
rabbitmq-plugins enable rabbitmq_management
|
3.1、配置文件差异
注意1
RabbitMQ版本3.8以上的需要把该文件放在/etc/rabbitmq目录下
注意2
RabbitMQ版本3.8以下的配置文件目录在:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.9/ebin/rabbit.app
下载配置
提取码: ribv
3.2、配置开机启动
1
|
systemctl enable rabbitmq-server.service
|
4、开放端口
1
2
|
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
|
5、启动RabbitMQ
1
2
3
4
5
6
7
8
|
# 启动(二选一)
systemctl start rabbitmq-server.service
# 启动(二选一)
/sbin/service rabbitmq-server start
# 查看启动状态
systemctl status rabbitmq-server.service
|
6、新增用户
1
2
3
4
5
6
7
8
9
10
11
|
# 新增用户 username为用户名 passwd为密码
rabbitmqctl add_user username passwd
# 设置超管权限
rabbitmqctl set_user_tags username administrator
# 为username设置权限
rabbitmqctl set_permissions -p "/" username ".*" ".*" ".*"
# 设置完重启服务
systemctl restart rabbitmq-server.service
|
7、疑难解决
6.1、报错1
1
|
rabbitmq-server.service: main process exited, code=exited, status=1/FAILURE
|
6.1.1、解决:
1
|
/var/lib/rabbitmq/mnesia 目录下存在[email protected]、rabbit@localhost、rabbit@localhost-plugins-expand,删除这3项
|
6.2、报错2
1
|
file /usr/bin/epmd from install of esl-erlang-25.0.3-1.x86_64 conflicts with file from package erlang-erts-24.3.4.1-1.el7.x86_64
|
6.1.1、解决:
1
|
该提示为Erlang和RabbitMQ版本不匹配导致
|