安装erlang
RabbitMQ依赖于erlang,所以需要先安装erlang。
安装erlang的两种方式:
- 从erlang solution安装
# 添加erlang solutions源
$ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
$ rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
$ yum install erlang
- 从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)
# 启动EPEL源
[root@VM_4_40_centos ~]# yum install epel-release -y
# 安装erlang
[root@VM_4_40_centos ~]# yum install erlang -y
我这里采用第二种安装方式。
安装RabbitMQ
#下载RabbitMQ rpm
[root@VM_4_40_centos ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
#安装
[root@VM_4_40_centos ~]# yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm -y
RabbitMQ的一些基本操作
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop # 停止服务
# 查看当前所有用户
$ sudo rabbitmqctl list_users
# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest
# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest
# 添加新用户
$ sudo rabbitmqctl add_user username password
# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator
# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username
更多关于rabbitmqctl的使用,可参考官方文档
开启web管理端口
大家看到如果通过命令来管理RabbitMQ着实不方便,RabbitMQ自带了web页面管理的方式,只要开启插件就可以了。
[root@VM_4_40_centos ~]# rabbitmq-plugins enable rabbitmq_management
默认端口为15672,浏览器访问http://ip:15672,输入用户名密码即可访问。
配置RabbitMQ
关于RabbitMQ的配置,可以创建/etc/rabbitmq/rabbitmq.config,根据需求配置即可,每个配置项的意义请参考官方文档。更新配置后,需要重启服务才能生效。
开启用户远程访问
默认情况下,RabbitMQ的用户只能从本机访问,如果需要远程访问,在/etc/rabbitmq/rabbitmq.config中加入如下配置即可
{loopback_users, []}
新添加的用户直接可以远程访问,如果只希望新添加的用户本机访问,则在如上列表中加入用户名即可,如希望admin用户只能本机访问,配置如下
{loopback_users, ["admin"]}
更新配置后,记的重启服务。