一、单机版的 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. [Linux系统] (4)脚本编程

    一.bash shell 可以理解为一种解释器和启动器,解释命令文本,并执行命令. 命令来源: 用户交互输入 文本文件输入 1.示例,写一个最简单的文本 vi test.txt 写入以下内容: ech ...

  2. [Linux系统] 如何修改CentOS7网卡名

    一.关闭一致性网络设备命名法 cat /etc/sysconfig/grub GRUB_TIMEOUT= GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g ...

  3. PHP关于对象访问静态方法、属性等问题

    为何有这样的问题呢?源自一段代码,如下: class A { // public static $name = 'wangyumeidsb'; public $name = 'woaini'; pub ...

  4. max函数结合lambda使用

    说明:d.keys() 以及列表可以看做lambda函数的实参,max的判断对象是key的值.最终返回的是使得key的值最大的那个实参.

  5. You Are Given a WASD-string...

    C. You Are Given a WASD-string... 主要看的还是思维,分别求出在上下左右四个方向移动的最大幅度( mov_up, mov_down, mov_right, mov_le ...

  6. 安装破解confluence6.7.1(插图丢了,一直懒得补)

      JIRA安装:https://www.cnblogs.com/wei9593/p/10194784.html 1环境: centos7.2 java-1.8https://www.cnblogs. ...

  7. vue-router中,require代替import解决vue项目首页加载时间过久的问题

    vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加 ...

  8. java 后台封装json数据学习总结

    一.数据封装 1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( &quo ...

  9. Linux系统下MySql表名大小写敏感问题

    mysql是通过lower_case_table_names变量来处理大小写问题的. 首先查询该变量 mysql在Linux下数据库名.表名.列名.表别名大小写规则如下: 1.数据库名与表名严格区分大 ...

  10. 程序代码运行结果是(abdcbdcb)

    public class Test { public static boolean show(char ch) { System.out.print(ch); return true; } publi ...