03 15,2019

消息队列RabbitMQ(二):安装与配置

RabbitMQ安装

系统以及软件版本

CentOS 7
Erlang 2.1
RabbitMQ 3.7.13

由于RabbitMQ是基于Erlang语言开发的,所以必须先安装Erlang运行环境。请注意RabbitMQ和Erlang需要对应相应的版本,否则可能会安装失败。

安装Erlang

这里可以使用RabbitMQ官方提供的脚本下载官方yum源

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

sudo yum install -y erlang

安装完成之后可以查看下Erlang的版本

[vckai@centos-7 ~]$ erl -v
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

Eshell V10.3  (abort with ^G)
1>

安装RabbitMQ

下载RabbitMQ的RPM,在本文写时RabbitMQ最新版本为3.7.13,可以点这里查看RabbitMQ的最新版本,替换掉下方的rpm地址即可。

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm

sudo yum install -y rabbitmq-server-3.7.13-1.el7.noarch.rpm

运行RabbitMQ

sudo rabbitmq-server start -detached

添加用户以及开启界面管理插件

# 创建用户,默认用户guest只能本地访问
sudo rabbitmqctl add_user dev '123456'

# 添加用户[管理员]标签
sudo rabbitmqctl set_user_tags dev administrator

# 创建virtual host
sudo rabbitmqctl add_vhost /vhost1

# 为用户授权可以访问的[virtual host]和操作类型[配置、读、写]
sudo rabbitmqctl set_permissions -p /vhost1 dev '.*' '.*' '.*'

# 启用rabbitmq_management
sudo rabbitmq-plugins enable rabbitmq_management

现在使用浏览器访问 http://[ip]:15672 即可看到RabbitMQ管理界面

rabbitmqctl命令全解(命令行模式)

rabbitmqctl是RabbitMQ提供的命令行管理工具

# 格式:
rabbitmqctl [-n <node>] [-q] <command> [<command options>]

# 【基本命令】

# 停止运行RabbitMQ
rabbitmqctl stop <pid_file>

# 停止运行RabbitMQ上的应用
rabbitmqctl stop_app

# 等待RabbitMQ服务启动
rabbitmqctl wait <pid_file>

# 初始化node状态(要先执行rabbitmqctl stop_app)
rabbitmqctl reset

# 强制初始化node状态
rabbitmqctl force_reset

# 【用户管理】

# 添加rabbitmq用户
rabbitmqctl add_user <username> <password>

# 删除rabbitmq用户
rabbitmqctl delete_user <username>

# 改变rabbitmq用户密码
rabbitmqctl change_password <username> <newpassword>

# 清除用户密码,禁止用户登录
rabbitmqctl clear_password <username>

# 设置用户标签
rabbitmqctl set_user_tags <username> <tag1> <tag2> ... <tag_n>

# 列出用户
rabbitmqctl list_users

参考资料

http://www.rabbitmq.com/install-rpm.html#install-rabbitmq
https://yq.aliyun.com/articles/601389