当前位置:   article > 正文

第1篇 rabbitmq的安装和启动(brew)_brew services start rabbitmq

brew services start rabbitmq

rabbitmq的安装, brew方式

1、更新最新版本brew

  • brew update
    
    • 1
  • 然后它会提示你执行如下语句

    • Error:
        homebrew-core is a shallow clone.
      To `brew update`, first run:
        git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
      This command may take a few minutes to run due to the large size of the repository.
      This restriction has been made on GitHub's request because updating shallow
      clones is an extremely expensive operation due to the tree layout and traffic of
      Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
      automatically to avoid repeatedly performing an expensive unshallow operation in
      CI systems (which should instead be fixed to not use shallow clones). Sorry for
      the inconvenience!
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
  • ##执行时间比较长,大概需要3分钟
    git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
    
    • 1
    • 2
  • 最后结果如下

    • image-20210602173128548

2、执行安装

  • 执行时间比较长,需要下载相关依赖,耐心等候就好了

  • brew install rabbitmq
    
    • 1
  • 安装文件路径是在 /usr/local/Cellar/rabbitmq/<版本号>/ , 其实可以在/usr/local/opt/rabbitmq/sbin 进行访问,它也创建一个链接文件在(/usr/local/sbin)

  • image-20210602175318255

  • 建议加上在配置文件加上这个路径

    • vim ~/.bash_profile
      
      export PATH=$PATH:/usr/local/sbin
      
      ## 修改完之后就让配置生效
      source ~/.bash_profile
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
  • image-20210602175659811

3、启动和关闭rabbitmq

  • ## 启动rabbitmq
    brew services start rabbitmq
    
    ## 关闭rabbitmq
    brew services stop rabbitmq
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • image-20210602180626613

4、WEB的UI控制台

  • 应该这个控制台是插件形式提供,所以需要先把这个插件开启,执行如下命令

    •  rabbitmq-plugins enable rabbitmq_management
      
      • 1
    • image-20210602201425946

  • 重启rabbitmq

    • brew services start rabbitmq
      
      • 1
  • 输入localhost:15672 ,见到如下界面

    • image-20210602201326536
  • 添加账户和权限

    • ## 添加一个用户为test, 密码为test
      rabbitmqctl add_user test test
      
      ## 给test赋予UI管理员权限
      rabbitmqctl set_user_tags test  administrator
      
      ## 给test赋予服务权限
      rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
  • 登录系统,会看到如下界面

    • image-20210602201733782

5、命令行创建exchange和queue

  • 你可以简单理解exchange类似路由器, queue就是一根根网线

  • 消息首先会到达exchange,然后exchange将消息分发到不同的queue中, 然后消费者消费不同queue,所有我们需要创建exchange(交换器) 和queue(队列)

  • image-20210602204443693

  • 还要说一下rabbitmq有虚拟主机概念,有点类似有linux不同用户看到不同home目录一样,互不干扰,这里需要创建一个虚拟主机,消息隔离

5.1、创建虚拟主机

  • ## 添加虚拟主机 test_host
    rabbitmqctl add_vhost test_host
    
    ## 赋予可以查看角色,guest是可以看到的
    rabbitmqctset_permissions -p test_host guest ".*" ".*" ".*"
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 执行如上语句将会看到如下结果

    • image-20210602210158791

5.2、创建exchange(交换器)

  • ## 在test_host创建 一个交互器 test_exchange, 类型为直连
    rabbitmqadmin declare exchange --vhost=test_host name=test_exchange type=direct
    
    
    • 1
    • 2
    • 3
  • image-20210602210624757

5.3、创建Queue(队列)

  • ## 在test_host创建一个队列名称为 test_queue
    rabbitmqadmin declare queue --vhost=test_host name=test_queue durable=true 
    
    • 1
    • 2
  • image-20210602210907175

5.4、exchange和queue进行绑定

  • 如果细心的话我们都是在vhost下创建对象,也就是与vhost有关联,它们本身是没有关联的,这个时候需要将它们关联起来,(将网线插到路由器上)

  • rabbitmqadmin --vhost=test_host declare binding source=test_exchange destinati_type=queue destination=test_queue routing_key=test_routing_key
    
    • 1

5.5、发送消息验证的一下

  • ## 发送一个消息为hello,world
    rabbitmqadmin publish exchange=test_exchange routing_key=test_routing_key payload="hello, world" --vhost=test_host 
    
    • 1
    • 2
  • image-20210602214137612

5.5、获取消息

  • rabbitmqadmin get --vhost=test_host queue=test_queue ackmode=ack_requeue_false --username=test --password=test
    
    • 1
  • 可能会报,后面在看到

    • *** Access refused: /api/queues/test_host/test_queue/get
      
      • 1
    • 2021年06月03日 fix 解决这个异常,因为原因是没有赋予test, vhost权限

    • 需要执行如下命令

    • ## 赋予test所有消息权限,新增消息之类
      rabbitmqctl set_permissions -p test_host test ".*" ".*" ".*"
      
      • 1
      • 2
    • 在执行上面语句将会看到如下结果

    image-20210603172225287

6、总结和回顾

  1. 学习一下rabbitmq的brew方式安装
  2. rabbitmq启动 和web控制界面
  3. rabbitmq的vhost,exchange,queue,创建
  4. 消息验证
  5. 仔细发现语法
    1. rabbitmqadmin 行为 属性名1=属性值1 属性名2=属性值2 。。。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/558532
推荐阅读
相关标签
  

闽ICP备14008679号