Linux搭建RabbitMQ

小柒博客 RabbitMQ评论3861字数 3405阅读11分21秒阅读模式

一、RabbiMQ简介

RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

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

1RabbitMQ支持操作系统

Linux

WindowsNT 到 10

Windows Server2003 到 2016

macOS

Solaris

FreeBSD

TRU64

VxWorks

RabbitMQ支持下列编程语言:

Python

Java

Ruby

PHP

C#

JavaScript

Go

Elixir

Objective-C

Swift

2RabbiMQ模式

RabbitMQ模式大概分为以下三种:

1)单一模式。

2)普通模式(默认的集群模式)。

3)镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。
要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。

3RabbiMQ特点

可伸缩性:集群服务

消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存

二、RabbitMQ安装

1源码安装

1)安装Elang环境

# 安装Elang环境需要的软件

[root@localhost ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

2)下载 otp_src_18.2.1软件包

[root@localhost ~]# wget http://erlang.org/download/otp_src_18.2.1.tar.gz

3)解压otp_src_18.2.1软件包

[root@localhost ~]# tar zxf otp_src_18.2.1.tar.gz

4)预编译

[root@localhost ~]# cd otp_src_18.2.1

[root@localhost otp_src_18.2.1]# ./configure --prefix=/usr/local/erlang

5)编译及安装

[root@localhost otp_src_18.2.1]# make && make install

6)配置环境变量

[root@localhost otp_src_18.2.1]# echo "export PATH=\$PATH:/usr/local/erlang/bin" >> /etc/profile

7)加载环境变量

[root@localhost otp_src_18.2.1]# source /etc/profile

8)安装RabbitMQ

# 下载rabbitmq-server-3.6.9软件包

[root@localhost ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz

9)解压rabbitmq-server-3.6.9软件包

[root@localhost ~]# tar xf rabbitmq-server-generic-unix-3.6.9.tar.xz

10)重命名rabbitmq

[root@localhost ~]# mv rabbitmq_server-3.6.9/ /usr/local/rabbitmq

11)配置环境变量

[root@localhost ~]# echo "export PATH=\$PATH:/usr/local/rabbitmq/sbin" >>/etc/profile

12)加载环境变量

[root@localhost ~]# source /etc/profile

13)启用RabbitMQ

# 启动后台管理

[root@localhost ~]# /usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management

# 后台运行rabbitmq

[root@localhost ~]# rabbitmq-server -detached

14)创建用户及设置用户角色和设置用户权限

# 创建用户

[root@localhost ~]# rabbitmqctl add_user admin Aa123456

# 设置用户角色

[root@localhost ~]# rabbitmqctl set_user_tags admin administrator

# 设置用户权限

[root@localhost ~]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

15)访问RabbitMQ

# 浏览器输入http://192.168.2.197:15672,如下图所示

16)常用命令

# 列出当前系统的用户

rabbitmqctl list_users

# 创建用户

rabbitmqctl add_user admin Aa123456

# 查看用户权限

rabbitmqctl list_user_permissions [用户名]

# 删除用户

rabbitmqctl delete_user [用户名]

# 修改用户密码

rabbitmqctl change_password [用户名] [密码]

# 开启web远程管理界面

rabbitmq-plugins enable rabbitmq_management

# 关闭web远程管理界面

rabbitmq-plugins disable rabbitmq_management

# 启动rabbitmq-server服务

systemctl start rabbitmq-server

# 停止rabbitmq-server服务

systemctl stop rabbitmq-server

# 重启rabbitmq-server服务

systemctl restart rabbitmq-server

# 重载rabbitmq-server服务

systemctl reload rabbitmq-server

# 查看rabbitmq-server状态

systemctl status rabbitmq-server

# 设置为开机启动rabbitmq-server服务

systemctl enable rabbitmq-server

2Yum安装

1)配置yum源,安装RabbitMQ软件

[root@localhost ~]# yum -y install epel-release

[root@localhost ~]# yum -y install rabbitmq-server

2)启动RabbitMQ服务

# 启用Rabbitmq_management服务

[root@localhost ~]# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management

# 启用RabbitMQ服务

[root@localhost ~]# systemctl start rabbitmq-server

3)查看监听端口(插件监控的端口是15672)

[root@localhost ~]# netstat -lntup |grep 5672

4)登录Rabbitmq web管理控制台,创建新的队列

1)打开浏览器输入http://192.168.2.197:15672, 输入默认的Username:guest,输入默认的Password:guest,登录后出现如图所示的界面。

2)根据界面提示创建一条队列

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信公众号
微信扫一扫,关注我!
weinxin
小柒博客
  • 本文由 小柒博客 发表于 2023年9月27日15:03:45
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/9610.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖动滑块以完成验证