一、单机版的 RabbitMQ 的安装部署

1、安装 Erlang 环境

wget http://erlang.org/download/otp_src_19.3.tar.gz

tar -zxvf otp_src_19.3.tar.gz

cd otp_src_19.3

./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll  --without-javac

##################################

./configure时出现错误:error: No curses/termcap library found。

原因:缺少ncurses安装包

解决办法:yum install ncurses-devel

##################################

make & make install

2、安装 RabbitMQ

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.5/rabbitmq-server-generic-unix-3.6.15.tar.xz

tar -Jxf rabbitmq-server-generic-unix-3.6.15.tar.xz

执行如下命令直接启动了

cd rabbitmq_server-3.6.15/

sbin/rabbitmq-server start

sbin/rabbitmq-server -detached #后台运行

3、使用 RabbitMQ CTL 命令管理 RabbitMQ

3.1 启动相关

sbin/rabbitmqctl start_app // 启动应用

sbin/rabbitmqctl stop_app  // 关闭应用

sbin/rabbitmqctl reset //重置应用

sbin/rabbitmqctl shutdown // 关闭应用和stop_app差不多

sbin/rabbitmqctl status //查看对应的rabbitmq状态

3.2 用户相关

sbin/rabbitmqctl add_user//添加用户

sbin/rabbitmqctl delete_user// 删除用户

sbin/rabbitmqctl change_password//修改密码

sbin/rabbitmqctl clear_password//清除用户密码

sbin/rabbitmqctl set_user_tags… // 设置用户标签

sbin/rabbitmqctl list_users // 列出所有用户

3.3 vhost 相关

sbin/rabbitmqctl add_vhost// 添加vhost

sbin/rabbitmqctl delete_vhost// 删除vhost

sbin/rabbitmqctl list_vhost // 列出所有的vhost

3.4 权限相关

sbin/rabbitmqctl set_permissions [-p]// 设置用户对应的权限

sbin/rabbitmqctl list_user_permissions// 列出用户的权限

sbin/rabbitmqctl list_permissions [-p] // 列出vhost的权限

sbin/rabbitmqctl clear_permissions [-p]// 清除用户的权限

3.5 队列消息相关

sbin/rabbitmqctl list_queues [-p] //列出vhsot中对应的queue

sbin/rabbitmqctl list_exchanges [-p] //列出vhsot中对应的交换机

sbin/rabbitmqctl list_bindings [-p] // 列出对应的绑定信息

sbin/rabbitmqctl list_connections // 列出对应的连接数

sbin/rabbitmqctl list_channels // 列出对应的信道

sbin/rabbitmqctl list_consumers //列出对应的消费者

sbin/rabbitmqctl list_queues -p vhost_test1 //列出queues

sbin/rabbitmqctl list_queues -p vhost_test1 name messages consumers memory //查看queues对应统计信息

3.6 具体实例

创建一个名为 vhost_test1 的 vhost,

再创建一个 test 的用户赋予 admin 的权限,并且拥有 vhost_test1 权限,以及赋予读写和配置文件操作的权限。

sbin/rabbitmqctl add_vhost vhost_test1 // 创建vhost

sbin/rabbitmqctl add_user test 123456

sbin/rabbitmqctl set_user_tags admin administrator //设置test有admin权限

sbin/rabbitmqctl set_permissions -p vhost_test1 test "." "." ".*" //设置用户的读写配置文件权限

查看所有的 vhost :

sbin/rabbitmqctl list_vhosts

查看所有的用户:

sbin/rabbitmqctl list_users

查看 vhost_test1 下用户的权限:

sbin/rabbitmqctl list_permissions -p vhost_test1

单独查询 test 用户的权限:

sbin/rabbitmqctl list_user_permissions test

4. RabbitMQ 之插件管理

查看默认支持的所有插件:

sbin/rabbitmq-plugins list

开启后台管理界面,找到对应的 rabbitmq_management 启用一下:

sbin/rabbitmq-plugins enable rabbitmq_management

启动成功之后访问 http://ip:15672/#/。

用我们之前 rabbitmqctl 创建的用户 test 登录进去

二 集群搭建

1、群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析

vim /etc/hosts

1 IP    rabbitmq-node1

2 IP    rabbitmq-node2

3 IP    rabbitmq-node3

2、同步.erlang.cookie

保持三台机器的.erlang.cookie同步

/root/.erlang.cookie

3、分别启动node1 node2 node3

rabbitmq-server -detached

4、停node2、node3应用

rabbitmqctl stop_app

5、将node2、node3加到mq1中

rabbitmqctl join_cluster rabbit@rabbitmq-node1

6、启动node2、node3应用

rabbitmqctl start_app

7、查看集群状态

rabbitmqctl cluster_status

10分钟学会RabbitMQ安装部署的更多相关文章

  1. 10分钟学会VS NuGet包私有化部署

    前言 我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的. 命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(ne ...

  2. 10分钟学会Linux

    10分钟学会Linux有点夸张,可是能够让一个新手初步熟悉Linux中最重要最主要的知识,本文翻译的英文网页在众多Linux入门学习的资料中还是很不错的. 英文地址:http://freeengine ...

  3. 10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved

    10分钟学会搭建Android开发环境_隋雨辰 http://v.youku.com/v_show/id_XNTE2OTI5Njg0.html?from=s1.8-1-1.2 The import a ...

  4. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 6、总结

    安装小结 安装完成后,首先我们需要将Datastore托管给Server,再将Server托管给Portal以此来完成整个单机版Enterprise 部署流程.为了测试流程是否正确,我们可以采用上传一 ...

  5. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 5、安装Datastore

    安装Datastore 解压datastore安装包,tar -xzvf ArcGIS_DataStore_Linux_1051_156441.tar.gz 切换到arcgis账户静默安装server ...

  6. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 4、安装 ArcGIS for Server

    安装ArcGIS for Server 解压server安装包,tar -xzvf ArcGIS_Server_Linux_1051_156429.tar.gz 切换到arcgis账户静默安装serv ...

  7. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 3、安装Portal for ArcGIS

    安装Portal for ArcGIS 解压portal安装包,tar -xzvf Portal_for_ArcGIS_Linux_1051_156440.tar.gz 切换到arcgis账户静默安装 ...

  8. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 2、安装WebAdapter

    解压webadapter安装包,tar -xzvf Web_Adaptor_Java_Linux_1051_156442.tar.gz 进入下Webadapter目录下静默安装 ./Setup -m ...

  9. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 1、安装前准备

    安装前准备 上传文件到服务器,x-ftp   xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local   方法一:零时设置,重启后失效,该方法不可取     方法 ...

随机推荐

  1. jquery which事件 语法

    jquery which事件 语法 作用:which 属性指示按了哪个键或按钮.大理石平台精度等级 语法:event.whic 参数: 参数 描述 event     必需.规定要检查的事件.这个 e ...

  2. C# 时间格式转换

    DateTime dd =DateTime.Parse(temp[0]);  string aa = dd.ToShortDateString();

  3. 详解vue的diff算法原理

    我的目标是写一个非常详细的关于diff的干货,所以本文有点长.也会用到大量的图片以及代码举例,目的让看这篇文章的朋友一定弄明白diff的边边角角. 先来了解几个点... 1. 当数据发生变化时,vue ...

  4. [CSP-S模拟测试]:硬币(博弈论+DP+拓展域并查集)

    题目传送门(内部题135) 输入格式 第一行包含一个整数$T$,表示数据组数. 对于每组数据,第一行两个整数$h,w$,表示棋盘大小. 接下来$h$行,每行一个长度为$w$的字符串,每个位置由为$o, ...

  5. [CSP-S模拟测试]:装饰(状压DP)

    题目传送门(内部题114) 输入格式 第一行一个正整数$n$. 接下来一行$n-1$个正整数,第$i$个数为$f_{i+1}$. 接下来一行$n$个数,若第$i$个数为$0$则表示林先森希望$i$号点 ...

  6. 分布式-信息方式-ActiveMQ的消息存储持久化

    ActiveMQ的消息存储持久化■概述ActiveMQ不仅支持 persistent和 non-persistent两种方式,还支持消息的恢复( recovery)方式PTPQueue的存储是很简单的 ...

  7. linux面试常见

    https://www.cnblogs.com/wanghuaijun/p/7421008.html 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件 ...

  8. Java中for each与正常for循环效率对比

    循环ArrayList时,普通for循环比foreach循环花费的时间要少一点:循环LinkList时,普通for循环比foreach循环花费的时间要多很多. 当我将循环次数提升到一百万次的时候,循环 ...

  9. 20191010-8 alpha week 1/2 Scrum立会报告+燃尽图 06

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8751 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  10. Rust Linking With C Library Functions

    #[link(name = "c")] extern "C" { fn scanf(format: *const u8, ...); } fn main() { ...