一、单机版的 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. QT:在其他窗口中显示QMainWindow

    问题:在QFrame中嵌入QMainWindow窗口,却无法显示QMainWindow窗口,调用QMainWindow的show()却能出现单独弹出一个QMainWindow窗口. 解决: 由于QMa ...

  2. ELEMENT-UI 封装el-table 局部刷新row

    //关于封装的el-table行数据更新后如何局部更新row row.status=status; this.$set(this.$refs.elTable.$data.tableData,index ...

  3. 3105: [cqoi2013]新Nim游戏

    貌似一道经典题 在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴.可以一堆都不拿,但不可以全部拿走.第二回合也一样,第二个游戏者也有这样一次机会.从第三个回合(又轮到第一个游戏者)开始,规则和 ...

  4. Linux开机启动和登录时各个文件的执行顺序

    1.在Linux内核被加载后,第一个运行的程序便是/sbin/init 该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作.其中/etc/inittab文件最主要的作用就是设定Li ...

  5. php 将几个变量合为数组,变量名和值对应

    <?php $firstname = "Bill"; $lastname = "Gates"; $age = "60"; $resul ...

  6. Atcoder ARC101 E 树dp

    https://arc101.contest.atcoder.jp/tasks/arc101_c 题解是也是dp,好像是容斥做的,但是看不懂,而且也好像没讲怎么变n^2,看了写大佬的代码,自己理解了一 ...

  7. textarea 自动高度

    textarea 自动撑开高度 var textAreaArr = document.querySelectorAll('.textarea'); for (var i = 0; i < tex ...

  8. C++入门经典-例2.10-控制输出精确度

    1:代码如下: // 2.10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  9. redis high available solution/ redis 高可用方案

    http://developers.linecorp.com/blog/?p=1420 http://engineering.docusign.com/articles/redis-sentinel- ...

  10. HTML技巧:怎样禁止图片拖动复制

    用jQuery实现代码: <script> var imgs=$("img"); imgs.on("contextmenu",function(){ ...