1 介绍

RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。 本文通过centos7安装RabbitMQ最新版3.9.0进行演示。 RabbitMQ官方下载页面erlang与rabbitmq版本对应关系

2 安装

2.1 卸载旧安装包

centos7默认安装erlang的版本为R16B03。 查看erlang版本命令: erl 如果为旧版本需要卸载: yum remove erlang-erts-R16B-03.18.el7.x86_64

2.2 安装erlang

从Erlang Solution安装最新版的erlang 最新版本已更新至erlang-solutions-2.0-1.noarch.rpm

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-soulutions-1.0-1.noarch.rpm
yum install erlang

2.3 下载Rabbit安装包

下载地址:https://github.com/rabbitmq/rabbitmq-server/tags 下载命令: wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.0/rabbitmq-server-3.9.0-1.el7.noarch.rpm

2.4 安装RabbitMQ

yum install rabbitmq-server-3.9.0-1.el7.noarch.rpm

2.5 开启web界面(可选)

rabbitmq-plugins enable rabbitmq_management

2.6 开启远程访问

默认guest用户除了本地之外的ip无法进行登录访问,如需其他ip进行访问需要修改配置文件并进行重启。 vi /etc/rbabitmq/rabbitmq.config 将如下的内容添加到rabbitmq.config

# 旧版的配置方式
[
{rabbit, [{loopback_users, [""]}]}
]
#3.7版本后的新版配置方式
# awful security practice,
# consider creating a new
# user with secure generated credentials!
loopback_users = none

注意文件权限设置为755。

2.7 访问

linux默认的端口为15762 http://localhost:15762

3 其他

3.1 启动/脚本命令

也可以使用systemctl服务名称为rabbitmq-server

# 启动服务
rabbitmq-server start
# 查看服务状态
rabbitmq-server status
# 停止服务
rabbitmq-server stop
# 查看当前所有用户
rabbitmqctl list_users
# 查看guest用户权限
rabbitmqctl list_user_permissions guest
# 删除用户guset
rabbitmqctl delete_user guset
# 添加新用户
rabbitmqctl add_user username password
# 设置用户tag
rabbitmqctl set_user_tags username administrator
# 授予用户所有默认权限
rabbitmqctl set_permissions-p / username ".*" ".*" ".*"

3.2 配置文件

# 配置文件路径
# /etc/rbabitmq/rabbitmq.config

[
#修改控制台端口号
{rabbitmq_management, [{listener, [{port, 8888}]}]}
#修改mq服务端口号
{rabbit, [{tcp_listeners, [5673]}]}
]