加载中...

Rabbitmq单节点安装配置


一. 简介

1.1 RabbitMQ介绍

消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶。
或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。
RabbitMQ是一个消息代理,一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息再传输过程中的安全。
RabbitMQ是一个在AMQP协议标准上完整的、可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用Erlang语言实现的工业级的消息队列。

1.2 RabbitMQ运行原理

RabbitMQ的两大核心组件是Exchange和Queue,以下是它的运行原理图:

1.3 RabbitMQ重要术语

  1. Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。
  2. Vitual Host: 这是一个虚拟概念,类似于权限控制组,一个Vitual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Vitual Host。
  3. Exchange: 接收生产者发送的消息,并根据Binding规则将消息路由给服务器中的队列。ExchangeType决定了Exchange路由消息的行为,例如,在RabbitMQ中,ExchangeType有direct、Fanout和Topic三种,不同类型的Exchange路由的行为是不一样的。
  4. Message Queue: 消息队列,用于存储还未被消费者消费的消息。
  5. Message: 由Header和Body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、由哪个Message Queue接受、优先级是多少等。而body是真正需要传输的APP数据。
  6. BindingKey: 所谓绑定就是将一个特定的一个Exchange和一个特定的Queue绑定起来,绑定关键字称为BindingKey。

二.安装

rabbitmq是通过Erlang语言编写所以需要Erlang环境

2.1 配置Erlang环境

#安装依赖
yum install –y epel-release ncurses-devel gcc openssl openssl-devel socat
#下载安装包
wget kode.huhuhahei.cn/kodexplorer/tar包/Rabbitmq/otp_src_20.0.tar.gz
#编译安装
tar -xzvf otp_src_20.0.tar.gz
cd otp_src_20.0
./configure -prefix=/usr/local/erlang
make && make install
#配置环境变量
vi /etc/profile
ER_LANG=/usr/local/erlang/bin
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$ER_LANG:
source /etc/profile
#测试
erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 10.4

2.2 安装rabbitmq

#下载rpm包
wget kode.huhuhahei.cn/kodexplorer/tar包/Rabbitmq/rabbitmq-server-3.6.15-1.el6.noarch.rpm
yum install rabbitmq-server-3.6.15-1.el6.noarch.rpm
#启动并配置开机自启
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
systemctl status rabbitmq-server
● rabbitmq-server.service - LSB: Enable AMQP service provided by RabbitMQ broker
   Loaded: loaded (/etc/rc.d/init.d/rabbitmq-server; bad; vendor preset: disabled)
   Active: active (running) since Thu 2021-12-23 11:10:55 CST; 20min ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/rabbitmq-server.service
           ├─43082 /bin/sh /etc/rc.d/init.d/rabbitmq-server start
           ├─43101 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /usr/...
           └─43103 /bin/sh /usr/sbin/rabbitmq-server

Dec 23 11:10:45 10-46-155-130 systemd[1]: Starting LSB: Enable AMQP s....
Dec 23 11:10:45 10-46-155-130 su[42974]: (to rabbitmq) root on none
#安装插件
rabbitmq-plugins enable rabbitmq_management
#赋予权限
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
#添加用户
rabbitmqctl add_user admin password
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

访问测试
ip+15672


文章作者: huhuhahei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 huhuhahei !
评论
  目录