RabbitMQ 安装与配置

RabbitMQ

RabbitMQ是一个出色的消息代理中间件(Message Broker):接受和转发消息。你可以将它看作是一个邮局,
你把自己的信件写上收件人地址,然后放到邮筒里面就不用管了,由邮局负责将这个信件送到目的地。来自

一、安装

我这里使用的是 ArchLInux

1
2
sudo pacman -S rabbitmq
# 会自动安装 socat erlang-nox rabbitmq

RPM 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
# 先安装erlang
rpm -Uvh https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
# 下面可以 epel-release 是软件库
yum install epel-release
yum install erlang
#安装RabbitMQ
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm
ll
yum install rabbitmq-server-3.6.15-1.el7.noarch.rpm
# 或者下面安装 mq
# wget ftp://195.220.108.108/linux/centos/7.4.1708/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm
# yum localinstall -C -y --disablerepo=* *.rpm

安装web管理界面

1
2
3
sudo rabbitmq-plugins enable rabbitmq_management
# 查看所有的插件
sudo rabbitmq-plugins list

启动

1
2
3
4
5
6
# 设置开机自启服务
systemctl enable rabbitmq-server
# 启动RabbitMQ
systemctl start rabbitmq-server
# 重启
systemctl restart rabbitmq-server

配置

1
vim /etc/rabbitmq/rabbitmq.config

安装好之后在/usr/share/doc/rabbitmq-server-3.6.15/有参考模板rabbitmq.config.example

配置端口,备注:消息端口5672,则web访问端口为 15672

1
2
3
4
5
6
7
8
[
{rabbit,
[
{loopback_users, []},
{tcp_listeners, [5672]}
]
}
]

参考模板

用户管理

1
2
3
4
5
6
7
8
9
10
11
12
# 修改guest的密码
sudo rabbitmqctl list_users
sudo rabbitmqctl change_password guest guest

# 创建其他管理员账号比如test/test:
sudo rabbitmqctl add_user maxzhao maxzhao
#
sudo rabbitmqctl set_user_tags maxzhao administrator
# /是 vhost的目录 Configure regexp Write regexp Read regexp
sudo rabbitmqctl set_permissions -p / maxzhao ".*" ".*" ".*"
# Sets user topic permissions for an exchange,默认使用 AMQP default 的exchange
# sudo rabbitmqctl set_topic_permissions

添加vhost

1
2
3
4
5
6
7
8
9
10
11
# 查看帮助
sudo rabbitmqctl --help
# 查看创建 vhost 的帮助
sudo rabbitmqctl add_vhost --help
# 创建
sudo rabbitmqctl add_vhost maxzhao_vhost
# 查看
sudo rabbitmqctl list_vhosts
# 赋权 注意 /maxzhao_vhost 与 maxzhao_vhost 不一样
sudo rabbitmqctl set_permissions -p /maxzhao_vhost maxzhao ".*" ".*" ".*"

删除 vhost

1
2
sudo rabbitmqctl add_vhost maxzhaoTest
sudo rabbitmqctl delete_vhost maxzhaoTest

本文地址: https://github.com/maxzhao-it/blog/post/14489/