1 安装
1.1安装erlang
rabbitmq是采用erlang开发的,所以需要安装erlang环境
如果直接下载rpm包安装,会碰到一大堆依赖问题,解决起来比较麻烦,建议添加yum源,通过yum来安装。
1. 下载erlang对应的yum源:
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
2. 安装erlang的yum源:
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
3. 查看可用的erl版本:太旧的会报错,建议用较新的,我采用的是19.3的版本
[root@oracle rabbitmq]# yum list erlang --showduplicates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed Packages
erlang.x86_64 19.3-1.el7.centos @erlang-solutions
Available Packages
erlang.x86_64 R16B-03.18.el7 epel
erlang.x86_64 17.1-1.1.el7.centos erlang-solutions
erlang.x86_64 17.1-3.el7.centos erlang-solutions
erlang.x86_64 17.3-1.el7.centos erlang-solutions
erlang.x86_64 17.4-1.el7.centos erlang-solutions
erlang.x86_64 17.5-1.el7.centos erlang-solutions
erlang.x86_64 17.5.3-1.el7.centos erlang-solutions
erlang.x86_64 18.0-1.el7.centos erlang-solutions
erlang.x86_64 18.1-1.el7.centos erlang-solutions
erlang.x86_64 18.2-1.el7.centos erlang-solutions
erlang.x86_64 18.3-1.el7.centos erlang-solutions
erlang.x86_64 19.0-1.el7.centos erlang-solutions
erlang.x86_64 19.1-1.el7.centos erlang-solutions
erlang.x86_64 19.2-1.el7.centos erlang-solutions
erlang.x86_64 19.3-1.el7.centos erlang-solutions
erlang.x86_64 20.0-1.el7.centos erlang-solutions
erlang.x86_64 20.1-1.el7.centos erlang-solutions
[root@oracle rabbitmq]#
- 安装指定版本的erlang:
yum install erlang-19.3-1.el7.centos - 查看erlang安装是否成功:出现如下提示表示成功
[root@oracle rabbitmq]# erl
Erlang/OTP 19 [erts-8.3] [source-d5c06c6] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V8.3 (abort with ^G)
1>
1.2安装socat
yum install -y socat
1.3安装rabbitmq
- 下载安装包:wget https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_11/rabbitmq-server-3.6.11-1.el7.noarch.rpm
- 安装:rpm -ihv rabbitmq-server-3.6.11-1.el7.noarch.rpm
- 启动:rabbitmq-server start
2 配置
2.1配置文件路径
配置有三种方法,优先级从大到小:
1. 读取环境变量中的参数或运行命令时直接指定;
2. 读取rabbitmq-env.conf环境文件;
3. 读取rabbitmq.config配置文件;
2.2用户管理
新增一个用户
rabbitmqctl add_user Username Password
删除一个用户
rabbitmqctl delete_user Username
修改用户的密码
rabbitmqctl change_password Username Newpassword
查看当前用户列表
rabbitmqctl list_users
给用户添加角色
rabbitmqctl set_user_tags username rolename
用户角色
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
2.3 virtual host管理
新建virtual host
rabbitmqctl add_vhost xxx
删除virtual host
rabbitmqctl delete_vhost xxx
给用户授权访问virtual host
rabbitmqctl set_permissions -p /lemon rabbitmq '.*' '.*' '.*'
2.4 服务启停
启动服务
rabbitmq-server –detached
关闭服务
rabbitmqctl stop
启用某插件
rabbitmq-plugins enable plugname
停用某插件
rabbitmq-plugins disable plugname
2.5启用WEB控制台
在3.3.1和之后的版本中,出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,其他的IP无法直接使用这个账号。
只要编辑 /etc/rabbitmq/rabbitmq.config 文件,添加以下配置就可以了。
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, []}]}
].
注意:
1. 最后的.一定要,不然会报错;
2. loopback_users设置为空:[],则所有的用户都可以登陆;
3. 记得重启服务;