• RabbitMQ简介及安装


    RabbitMQ消息中间件

    简介

    RabbitMQ就是当前最主流的消息中间件之一。RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    官网: https://www.rabbitmq.com/

    下载地址: https://www.rabbitmq.com/download.html

    国内加速下载: https://www.newbe.pro/Mirrors/Mirrors-RabbitMQ/

    消息队列服务、消息中间件(Broker)、消息服务

    几款常用消息服务器:

    • Rabbitmq
    • Activemq
    • Rocketmq
    • Tubemq

    mq服务器的地位,和Redis相当,现在分布式项目中,redis和mq服务应该是必备的

    安装前提

    c++等环境依赖

    yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel
    

    安装RabbitMQ

    以下安装任选其一

    直接安装

    因为RabbitMQ是使用Erlang语言写的, 安装RabbitMQ之前请再安装以下两个依赖

    1. socat

    socat,一个多功能的网络工具,名字来源于SOcket CAT,是netcat的增强版,也就是netcat++(扩展了设计,并有新的实现)。

    官网: http://www.dest-unreach.org/socat/

    安装:

    yum install socat.x86_64
    

    2. Erlang

    Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使用它来开发电话和通信应用程序。

    Erlang官网: https://www.erlang.org/

    安装:

    yum install erlang
    

    安装rabbitmq

    如果不考虑安装版本, 可使用如下方式

    yum install rabbitmq-server.noarch
    

    如果安装指定版本, 自行下载socat, erlang, rabbitMQ的rpm包等自行安装

    官方yum安装

    rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    
    
    # centos7 用这个
    cat <<EOF > /etc/yum.repos.d/rabbitmq.repo
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    EOF
    
    
    # centos6 用这个
    cat <<EOF > /etc/yum.repos.d/rabbitmq.repo
    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/6/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    EOF
    
    
    yum makecache
    
    yum install socat
    
    wget https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.12/erlang-21.3.8.12-1.el7.x86_64.rpm
    rpm -ivh erlang-21.3.8.12-1.el7.x86_64.rpm --force --nodeps
    
    yum install rabbitmq-server
    

    配置RabbitMQ

    启动rabbitmq服务器

    # 设置服务,开机自动启动
    systemctl enable rabbitmq-server
    
    # 启动服务
    systemctl start rabbitmq-server
    

    rabbitmq管理界面

    启用管理界面

    # 开启管理界面插件
    rabbitmq-plugins enable rabbitmq_management
    
    # 防火墙打开 15672 管理端口
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    firewall-cmd --reload
    

    重启RabbitMQ服务

    重启服务是为了让上面的管理界面生效

    systemctl restart rabbitmq-server
    

    访问测试

    访问服务器的15672端口,例如: IP改为你的linux的ip或域名即可

    http://192.168.64.140:15672

    访问权限

    用户管理可参考
    https://www.cnblogs.com/AloneSword/p/4200051.html

    开放客户端连接端口

    # 打开客户端连接端口
    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    firewall-cmd --reload
    

    主要端口介绍

    • 4369 – erlang发现口
    • 5672 – client端通信口
    • 15672 – 管理界面ui端口
    • 25672 – server间内部通信口
  • 相关阅读:
    Salesforce: 测试代码写在非测试类中
    Salesforce: 使用代码编辑日期时间
    测试用例练习
    DFA算法实现敏感词过滤
    基于redis实现分布式锁
    Python检查字符串之间的相似度
    二维码生成器
    MySQL 备份/恢复
    实现阿里云短信验证
    SnowFlake 生成唯一订单id
  • 原文地址:https://www.cnblogs.com/zpKang/p/13567788.html
Copyright © 2020-2023  润新知