RabbitMQ是基于Erlang编程语言实现的一个高并发高可靠的AMQP消息队列服务器。安装RabbitMQ需要首先安装依赖的Erlang语言环境。

1. Erlang安装

Erlang官网下载安装所需的应用包otp_src_20.2.tar.gz。解压缩:

1
$ tar xvf otp_src_20.2.tar.gz

进入到Erlang解压缩的目录:

1
# cd otp_src_20.2

安装Erlang编译依赖:

1
# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

编译Erlang:

1
# ./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac

安装Erlang:

1
make && make install

配置Erlang环境变量:

1
# vi /etc/profile

添加如下配置:

1
2
3
ERLANG_HOME=/usr/local/erlang
PATH=$PATH:$ERLANG_HOME/bin
export PATH

使配置文件生效:

1
# source /etc/profile

检查Erlang是否安装成功:

1
2
3
4
5
$ erl
Erlang/OTP 20 [erts-9.2] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V9.2 (abort with ^G)

2. RabbitMQ安装和配置

2.1 安装

RabbitMQ官网下载安装所需的应用包rabbitmq-server-generic-unix-3.7.4.tar.xz。解压缩即可:

1
$ tar Jxvf rabbitmq-server-generic-unix-3.7.4.tar.xz

进入到RabbitMQ解压缩的目录:

1
$ cd rabbitmq_server-3.7.4

2.2 服务端口

端口 描述
5672 默认的JMS服务端口
15672 默认的控制台管理服务端口

开启防火墙端口:

1
# vi /etc/sysconfig/iptables

添加如下配置:

1
2
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5672 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 15672 -j ACCEPT

重启防火墙:

1
# service iptables restart

2.3 用户管理

添加用户:

rabbitmqctl add_user 用户名 密码

1
$ ./sbin/rabbitmqctl add_user admin admin

分配角色:

rabbitmqctl set_user_tags 用户名 角色

角色类型和描述说明可参考文档 http://www.rabbitmq.com/management.html#permissions

1
$ ./sbin/rabbitmqctl set_user_tags admin administrator

添加权限:

1
$ rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

修改密码:

rabbitmqctl change_password 用户名 新密码

1
$ ./sbin/rabbitmqctl change_password admin 123654

查看用户列表:

rabbitmqctl list_users

1
$ ./sbin/rabbitmqctl list_users

删除用户:

rabbitmqctl delete_user 用户名

1
$ ./sbin/rabbitmqctl delete_user admin

2.4 管理控制台

开启管理控制台:

1
$ ./sbin/rabbitmq-plugins enable rabbitmq_management

访问地址http://ip:15672

默认的账户密码(仅本机可以登录):guest/guest。远程访问需要新增配置一个账户才可以登录。

2.5 命令

后台启动:

1
$ ./sbin/rabbitmq-server -detached

前台启动:

1
$ ./sbin/rabbitmq-server start

关闭服务:

1
$ ./sbin/rabbitmqctl stop