• Rabbitmq消息队列(一) centos下安装rabbitmq


     1、简介

      AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
    AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
      RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    2、安装Erlang需要的环境

      sudo yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget unixODBC-devel

    3、Erlang安装配置

    1 [origalom@developers ~]$ wget http://erlang.org/download/otp_src_20.1.tar.gz
    2 [origalom@developers ~]$ tar -xzvf otp_src_20.1.tar.gz
    3 [origalom@developers ~]$ cd otp_src_20.1
    4 [origalom@developers ~]$ sudo ./configure --prefix=/opt/erlang --without-javac
    5 [origalom@developers ~]$ sudo make && sudo make install
    6 [origalom@developers ~]$ sudo vim /etc/profile
                  在底部添加配置:export ERLANG_HOME=/usr/local/erlang
    export PATH=$PATH:$ERLANG_HOME/bin
    7 [origalom@developers ~]$ source /etc/profile

     安装过程中可能出现的问题(APPLICATIONS DISABLED内的部分):

      (1)编译时,出现错误:odbc : ODBC library - link check failed 

        需要安装unixODBC,调用命令sudo yum install unixODBC-devel

    4、验证Erlang是否安装成功

      进入erlang安装目录的bin目录下,输入erl,如果出现下面的内容,表示安装成功:

      Erlang/OTP 20 [erts-9.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [hipe] [kernel-poll:false]

      Eshell V9.1 (abort with ^G)
      1>

        

    5、下载安装rabbitmq

     1 [origalom@developers ~] cd ~
     2 [origalom@developers ~] wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.2/rabbitmq-server-generic-unix-3.7.2.tar.xz
     3 [origalom@developers ~] xz -d rabbitmq-server-generic-unix-3.7.2.tar.xz
     4 [origalom@developers ~] tar -xvf rabbitmq-server-generic-unix-3.7.2.tar
     5 [origalom@developers ~] sudo mv rabbitmq_server-3.7.2/ /usr/local/rabbitmq
     6 [origalom@developers ~] sudo vim /etc/profile
     7                                   在最下面添加:export PATH=$PATH:/usr/local/rabbitmq/sbin
     8 [origalom@developers ~] source /etc/profile
     9 [origalom@developers ~] cd /usr/local/rabbitmq/sbin
    10 [origalom@developers ~] rabbitmq-server -detached   # 启动rabbitmq

      说明:如果按照上面操作过后,启动时还是提示rabbitmq-server:行85: erl: 未找到命令,则修改rabbitmq/sbin/rabbitmq-server文件,加上 export PATH=$PATH:/opt/erlang/bin环境变量即可。

      其他命令(sbin目录下):

          rabbitmqctl status    #查看rabbitmq状态

          rabbitmqctl stop       #  关闭rabbotmq服务

    6、配置网页插件

      上面已经创建好了rabbitmq服务,下面为了在网页上进行显示,可以配置网页插件。

    1 [origalom@developers ~] cd /usr/local/rabbitmq/sbin
    2 [origalom@developers ~] rabbitmq-plugins enable rabbitmq_management

      这样就可以开启网页插件了。

      开启过后,在浏览器中输入服务器IP:15672,就可以看到RabbitMQ的WEB管理页面了。

      

    7、配置访问账号密码和权限

    1 [origalom@developers ~] cd /usr/local/rabbitmq/sbin
    2 [origalom@developers ~] rabbitmqctl add_user rabbit rabbit      # 添加用户
    3 [origalom@developers ~] rabbitmqctl set_permissions -p / [用户名] ".*" ".*" ".*"  # 添加权限
    4 [origalom@developers ~] rabbitmqctl set_user_tags [用户名]  [角色名]  # 修改角色

      角色分类:

        ①  none: 不能访问 management plugin

        ②  management:  用户可以通过AMQP做的任何事外加:列出自己可以通过AMQP登入的virtual hosts ,查看自己的virtual hosts中的queues, exchanges 和 bindings,查看和关闭自己的channels 和 connections,查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

        ③  policymaker: management可以做的任何事外加:查看、创建和删除自己的virtual hosts所属的policies和parameters

        ④  monitoring:   management可以做的任何事外加:列出所有virtual hosts,包括他们不能登录的virtual hosts,查看其他用户的connections和channels,查看节点级别的数据如clustering和memory使用情况,查看真正的关于所有virtual hosts的全局的统计信息

        ⑤  administrator: policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts,查看、创建和删除users,查看创建和删除permissions,关闭其他用户的connections

      

    8、配置防火墙

      配置防火墙,开放端口:

      5672: tcp端口,amqp通信端口,如果非单机操作情况下,必开

      15672 : tcp端口,网页管理端口,如果需要进行网页管理,则开放

  • 相关阅读:
    23 情态动词+完成时
    22 情态动词否定和疑问
    青山有幸埋忠骨,白铁无辜铸佞臣。
    Modern Perl
    en_windows_10_enterprise_ltsc_2019_x64_dvd_5795bb03
    Destinos & Nuevos Destinos
    TVB <十兄弟>
    Great Udemy Courses
    assembly language reference
    Alex Jones
  • 原文地址:https://www.cnblogs.com/origalom/p/8118381.html
Copyright © 2020-2023  润新知