zoukankan      html  css  js  c++  java
  • RabbitMQ 消息队列 安装及使用

    RabbitMQ 消息队列安装:

      linux版本:CentOS 7

    安装第一步:先关闭防火墙

    1、Centos7.x关闭防火墙

    [root@rabbitmq /]# systemctl stop firewalld.service
    
    [root@rabbitmq /]# systemctl disable firewalld.service
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

    如果不想关闭防火墙,可以通过如下方法处理:

    开放5672端口:
    
    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    firewall-cmd --reload
    

    第二步:安装Erlang

      由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。

    Erlang的安装方式大概有两种:

    1)从Erlang Solution安装(推荐)

    # 添加erlang solutions源
    $ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    $ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    
    $ sudo yum install erlang

    2)从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)

    # 启动EPEL源
    $ sudo yum install epel-release 
    # 安装erlang
    $ sudo yum install erlang

    安装第三步:安装RabbitMQ

    $ sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
    $ wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm # 下载RabbitMQ安装包
    $ sudo yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm

      注意:安装时如果遇到下面的依赖错误

    Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
    Requires: libreadline.so.5()(64bit)

    可以尝试先执行:$ sudo yum install socat

      至此,如果没有报错的话,RabbitMQ已经安装成功!此时我们需要测试RabbitMQ是否可以正常使用。

    测试:

    1、开启服务及查看工作状态

    $ rabbitmq-server #启动RabbitMQ队列
    $ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务 $ sudo /sbin/service rabbitmq-server start # 启动服务 $ sudo /sbin/service rabbitmq-server status # 查看服务状态 $ sudo /sbin/service rabbitmq-server stop # 停止服务
    $ netstat -tulnp |grep rabbitmq #查看默认启用的端口号,5672

    2、关于RabbitMQ的一些基本操作

    # 查看当前所有用户
    $ sudo rabbitmqctl list_users

    $ rabbitmqctl list_queues #查看当前的消息队列列表
    # 查看默认guest用户的权限 $ sudo rabbitmqctl list_user_permissions guest # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户 $ sudo rabbitmqctl delete_user guest # 添加新用户 $ sudo rabbitmqctl add_user username password # 设置用户tag $ sudo rabbitmqctl set_user_tags username administrator # 赋予用户默认vhost的全部操作权限 $ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 查看用户的权限 $ sudo rabbitmqctl list_user_permissions username 更多关于rabbitmqctl的使用,可以参考帮助手册

    3、开启web管理接口

      如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

    $ sudo rabbitmq-plugins enable rabbitmq_management
    然后通过浏览器访问
    
      http://localhost:5672
    
    输入用户名和密码访问web管理界面了。

    4、配置RabbitMQ

      关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板到/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
      关于每个配置项的具体作用,可以参考官方文档
      更新配置后,别忘了重启服务哦!

    5、开启用户远程访问

      默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

      {loopback_users, []}

      另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。

    {loopback_users, ["admin"]}

    更新配置后,别忘了重启服务哦!

  • 相关阅读:
    python自省函数getattr的用法
    python-mysqldb安装
    weblogic部署脚本
    netcat使用
    ssh批量互信脚本
    yum安装出错
    centos文件误删除恢复
    lamp php的ssl,ssh支持
    ssh免密码登陆
    python 学习笔记 四 条件, 循环以及其他
  • 原文地址:https://www.cnblogs.com/zh605929205/p/7426690.html
Copyright © 2011-2022 走看看