• centos下安装rabbitmq


    一.安装erlang

    先新建rabbitmq文件夹
    cd /usr/local/src/ 
    mkdir rabbitmq 
    cd rabbitmq 
    //下载rpm,如果下载速度慢可以本地下载上传Linux中也可 
    wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_21.2.2-1~centos~7_amd64.rpm
    //导入公钥
     rpm –import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc  
    //安装自动更新依赖(不建议使用rpm安装)
    yum install esl-erlang_21.2.2-1~centos~7_amd64.rpm  
    //验证是否安装成功
    erl
    

    二.安装rabbitmq

    //下载rabbitmq 
    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm
    
    //导入RabbitMQ signing key.Before the Yum repository can be used, RabbitMQ signing key must be imported first. This makes RPM tools trust the signature on the packages provided in the repository. To do so, run rpm --import as a superuser:
    rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    或者
    //RabbitMQ public signing key is also available from rabbitmq.com
    rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    
    //新增文件.In order to use the Yum repository, a .repo file (e.g. rabbitmq.repo) has to be added under the /etc/yum.repos.d/ directory. The contents of the file will vary slightly between distributions (e.g. CentOS 7 vs. CentOS 6 vs. OpenSUSE). The following example targest CentOS 7:
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    
    On CentOS 6 the baseurl line would be slightly different:
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/6/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    
    The following example targets OpenSUSE:
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/opensuse/42.1/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    
    The following example targets SLES 11.x:
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/sles/11
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    
    
    //安装rabbitmq 
    yum install rabbitmq-server-3.7.9-1.el7.noarch.rpm
    rpm -ivh --nodeps rabbitmq-server-3.7.9-1.el7.noarch.rpm
    

    三.可能出现的问题

    1、如果出现如下错误,但是的确安装了erlang对应版本:

    error: Failed dependencies:
        erlang >= R16B-03 is needed by rabbitmq-server-3.6.3-1.noarch  
    复制代码
    解决方式:
    添加--nodeps你的rpm命令,参考连接:StackOverflow问答
    rpm -ivh --nodeps rabbitmq-server-3.5.7-1.noarch.rpm
    复制代码
    检查https://stackoverflow.com/a/40218299/877813,并添加--nodeps你的rpm命令
    

    2、出现如下错误的情况;说缺少socat依赖

    socat is needed by rabbitmq-server-3.6.6-1.el6.noarch
    复制代码
    解决方式:
    yum -y install socat
    此时会报错没有socat包或是找不到socat包,解决方法安装centos的epel的扩展源
    yum -y install epel-release
    之后执行yum -y install socat
    
    安装时如果遇到下面的依赖错误:
    Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel) Requires: libreadline.so.5()(64bit)
    可以尝试先执行:
    yum install socat
    

    四.启动和配置

    1.RabbitMQ的一些基本操作:

    # 添加开机启动RabbitMQ服务
    systemctl enable rabbitmq-server.service
    # 查看服务状态
    systemctl status  rabbitmq-server.service
    # 启动服务
    systemctl start rabbitmq-server.service
    # 停止服务
    systemctl stop rabbitmq-server.service
    # 查看当前所有用户
    rabbitmqctl list_users
    # 查看默认guest用户的权限
    rabbitmqctl list_user_permissions guest
    # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
    rabbitmqctl delete_user guest
    # 添加新用户
    rabbitmqctl add_user username password
    # 设置用户tag
    rabbitmqctl set_user_tags username administrator
    # 赋予用户默认vhost的全部操作权限
    rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
    # 查看用户的权限
    rabbitmqctl list_user_permissions username
    

    2、基本配置:(配置的时候输入命令需要在/usr/local/src/ rabbitmq文件夹)

    //开启管理页面插件
    rabbitmq-plugins enable rabbitmq_management
    管理插件安装完成后,出现如下提示,表示安装成。
    The following plugins have been enabled:
      mochiweb
      webmachine
      rabbitmq_web_dispatch
      amqp_client
      rabbitmq_management_agent
      rabbitmq_management
    Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
    
    
    增加访问用户,默认用户guest只能本地访问。
    rabbitmqctl add_user admin eternityzhang
    
    设置角色:
    rabbitmqctl set_user_tags admin administrator
    
    
    设置默认vhost(“/”)访问权限
    rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
    
    关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
    关于每个配置项的具体作用,可以参考官方文档。
    https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.config.example
    搜索到%%{loopback_users,[]},  去掉%%和最后的逗号并保存
    
    开机自启动:
    chkconfig rabbitmq-server on 输入之后会转到systemctl enable rabbitmq-server.service
    
    
    可以用浏览器输入localhost:15672,账号密码输入admin/eternityzhang即可登录:
    

    参考

    链接:https://juejin.im/post/5af879e76fb9a07ab11144b6
    链接: https://www.jianshu.com/p/86c28453a50b

  • 相关阅读:
    阅读cuda docs best practice
    JS: 模拟async/await语法糖
    JS版数据结构链表
    处理Vite项目首屏加载响应迟缓和二次刷新的问题
    JS中构造函数与Class类的区别
    JS数据结构循环队列
    使用WangEditor4+KityFormula处理公式编辑业务(小记)
    Soon is not as good as now
    自定义toString()方法检测对象类型时的返回值[object x](JS)
    如果给Array.prototype.fill()方法传入1个引用类型的填充对象
  • 原文地址:https://www.cnblogs.com/eternityz/p/12239590.html
Copyright © 2020-2023  润新知