RabbitMQ mac与windows安装

一:Mac安装

Mac安装比Windows安装更加方便,也不需要再额外配置Web插件,因为在安装的时候默认已经配置好了

// 在Updating Homebrew...时可能会卡一会,只需要等就行了
// 在安装的过程中可能因为网络问题,可能会有部分会失败,此时只需要载次执行该命令,直到全部成功即可,注意一定要检查一下是否有部分失败,为安全起见,可以多执行几次该命令
brew install rabbitmq

// 配置环境变量,将下面添加到~/.bash_profile中即可
export PATH=$PATH:/usr/local/sbin

// 立即生效
source ~/.bash_profile
// 启动RabbimtMQ服务, 注意安装最新版的不需要再单独安装插件了,默认已经安装过了,可以通过使用参数 -detached 以守护的方式后台运行
rabbitmq-server

    这里写图片描述

    安装成功后就可以在浏览器上看到如下登录页面, 在地址栏中输入http://localhost:15672/,Username:guest Password:guest, 使用访客账号就可登录进去

    这里写图片描述

    这里写图片描述

    二:Windows安装

    Windows安装需要先安装Erlang,再安装RabbitMQ,再配置插件,在配置插件的时候可能会出现错误

    • 第一步:安装Erlang OTP,由于RabbitMQ是用Erlang编写的,所以在安装RabbitMQ之前要先安装Erlang 下载地址:http://www.erlang.org/downloads 下载最新版本即可,例如OTP 20.0 Windows 64-bit Binary File, 下载完成后解压,双击otp_win64_20.0.exe 一路next即可,安装成功后需要配置环境变量,可以新建一个变量,例如ERLANG_HOME=D:\erl9.0,最后将环境变量追加到Path中去Path中追加:%ERLANG_HOME\bin%;

    • 第二步:安装RabbitMQ,在官网上下载最新的RabbitMQ(http://www.rabbitmq.com/) 双击rabbitmq-server-3.6.10 一路next即可,安装成功后同样需要配置环境变量,将D:\RabbitMQ\rabbitmq_server-3.6.10\sbin追加到Path中

    • 第三步:安装RabbitMQ Management 插件,执行命令:rabbitmq-plugins enable rabbitmq_management 如果幸运的话一步成功,不知道最新版本会不会好安装,如果在安装中报错,要根据具体错误来解决

    • // 错误1:Plugin configuration unchanged
      D:\RabbitMQ\rabbitmq_server-3.6.10\sbin>rabbitmq-plugins enable rabbitmq_management
      Plugin configuration unchanged.
      
      Applying plugin configuration to rabbit@zm-PC... failed.
       * Could not contact node rabbit@zm-PC.
         Changes will take effect at broker restart.
       * Options: --online  - fail if broker cannot be contacted.
                  --offline - do not try to contact broker.
      
      解决办法:将C:\Windows\.erlang.cookie 覆盖到C:\Users\用户名下的.erlang.cookie文件
      
      然后重新安装:D:\RabbitMQ\rabbitmq_server-3.6.10\sbin>rabbitmq-plugins enable rabbitmq_management
      
      // 错误2:noting to do.
       1.rabbitmq-plugins.bat enable rabbitmq_management
       2.rabbitmq-service.bat stop
       3.rabbitmq-service.bat install   这句话没用,提示:RabbitMQ service is already present - onlyupdating service parameters
       4.rabbitmq-service.bat start
       打开浏览器登录:http://127.0.0.1:15672 
      
      

      这里写图片描述

      我就是通过这种方式来解决错误的,虽然命令行中报错,还出现乱码,但是确实可以通过http://127.0.0.1:15672来访问登录页面,参考的文章:http://blog.csdn.net/mooreliu/article/details/44673845

      RabbitMQ Management 非常重要,它可以用来管理RabbitMQ,操作(CRUD)各种数据,在开发中和生产中都经常用到。

      三:常用命令

      一台物理机器上可以有多个erlang节点(实例),每个节点可以运行多个应用程序,其中重要的应用程序有RabbitMQ、Erlang语言自带的Mnesia数据库,以及RabbitMQ相关的插件(如RabbitMQ Management)。可以将Erlang节点类比于java的JVM。

      这里写图片描述

      RabbitMQ Management 是一个用于操作RabbitMQ的管理界面,可以操作很多常用的操作,但是并不支持所有的操作,命令行支持所有功能。

      rabbitmqctl命令行: 命令行比web管理界面更强大,web界面的命令只是rabbitmqctl命令的一个子集

      • 应用程序和集群管理(Application and Cluster Management)、
      • 集群配置(Cluster management)、
      • 用户管理(User management)、
      • 访问控制(Access Control)、
      • 参数管理(Parameter Management)、
      • 政策管理(Policy Management)、
      • 服务器状态(Server Status)
      • Miscellaneous
      rabbitmq-server // 同时启动erlang节点和应用程序
      
      // 查看rabrabbitmqctl所支持的命令
      rabrabbitmqctl
      
      // 查看状态
      rabbitmqctl status
      
      //停止erlang node,同时关闭erlang节点和应用程序
      rabbitmqctl stop  
      
      // 停止RabbitMQ服务,仅关闭erlang节点上的rabbit应用程序
      rabbitmqctl stop_app 
      
      // 启动RabbitMQ服务
      rabbitmqctl start_app 
      
      // 格式化rabbitmq node(在集群中需要满足一定的条件才能关闭)
      rabbitmqctl reset
      
      // 强制格式化rabbitmq node
      rabbitmqctl force_reset
      
      // 清除某个队列的所有消息
      rabbitmqctl purge_queue <name>
      
      // 添加用户
      rabbitmqctl add_user <username> <password>
      
      // 设置权限
      rabbitmqctl set_permissions -p / <username> ".*" ".*" ".*"
      
      // 列举权限
      rabbitmqctl list_permissions -p <vhost>
      
      // 列举用户的所有权限
      rabbitmqctl list_user_permissions <username>
      
      // 清除权限
      rabbitmqctl clear_permissions -p <vhost> <username>
      
      // 认证用户
      rabbitmqctl authenticate_user <username> <password>
      
      // 修改密码
      rabbitmqctl change_password <username> <password>
      
      // 列举用户
      rabbitmqctl list_users
      
      // 删除用户(删除用户时也会把用户相关的权限都删除)
      rabbitmqctl delete_user <username>
      
      // 设置tag, tag可以为none最小权限角色,management 管理员角色,policymaker决策者,monitoring 监控,administrator  超级管理员 
      rabbitmqctl set_user_tags <username> <tag>
      
      // 添加虚拟主机
      rabbitmqctl add_vhost <name> 
      
      // 删除虚拟主机
      rabbitmqctl delete_vhost <name> 
      
      // 查看所有虚拟主机
      rabbitmqctl list_vhost [<vhostinfoitem> ...]
      
      // 列举默认虚拟机上的所有队列
      rabbitmqctl list_queues
      
      // 列出指定虚拟机上的队列
      rabbitmqctl list_queues -p <vhost>
      
      // 列举队列,包含队列名称、消息数目、消费者数目、内存使用情况、是否持久化、是否自动删除
      rabbitmqctl list_queues name messages counsumers memory durable auto_delete
      
      // 查看交换机
      rabbitmqctl list_exchanges [name] [type] [durable] [auto_delete]
      
      // 列举所有绑定
      rabbitmqctl list_bindings [-p <vhost>]
      
      

      这里写图片描述

      command line tool

      通过curl命令行来访问RabbitMQ Management 中的HTTP API(http://localhost:15672/api/), 返回的格式是json格式

      这里写图片描述

      rabbitmqadmin

      // 列出服务器上的队列
      rabbitmqadmin list queues
      
      // 清空队列上的消息
      rabbitmqadmin purge queue name=<queue_name>
      
      rabbitmqadmin -u <username> -p <password> declare exchange name=<exchange_name> type=<type>
      
      // 列举所有连接
      rabbitmqadmin list connections name
      
      // 关闭某个连接
      rabbitmqadmin close connection name=<name>
      
      

      管理RabbitMQ有4中方式

      • RabbitMQ Management(Web UI)
      • rabbitmqctl
      • command line tool(curl)
      • rabbitmqadmin

      常用配置rabbitmq.config

      实际开发中少不了对RabbitMQ的参数进行一些配置,如ip地址,端口号,允许RabbitMQ最大消耗的内存等配置,这些配置可以在配置文件中进行配置/usr/local/etc/rabbitmq/rabbitmq.config

      这里写图片描述

      这里写图片描述

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值