专栏首页品茗ITWeb基础配置篇(十): ActiveMQ与RabbitMQ的安装配置及使用

Web基础配置篇(十): ActiveMQ与RabbitMQ的安装配置及使用

Web基础配置篇(十): ActiveMQ与RabbitMQ的安装配置及使用

一、概述

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)

常见的消息中间件产品:

(1)ActiveMQ

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。这里介绍的是ActiveMQ的使用。

(2)RabbitMQ

AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。

(3)ZeroMQ

史上最快的消息队列系统

(4)Kafka

Apache下的一个子项目 。特点:高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统。适合处理海量数据。

Jms

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

AMQP

AMQP是一种协议,更准确的说是一种binary wire-level protocol(链接协议)。这是其和JMS的本质差别,AMQP不从API层进行限定,而是直接定义网络交换的数据格式。这使得实现了AMQP的provider天然性就是跨平台的。意味着我们可以使用Java的AMQP provider,同时使用一个python的producer加一个rubby的consumer。从这一点看,AQMP可以用http来进行类比,不关心实现的语言,只要大家都按照相应的数据格式去发送报文请求,不同语言的client均可以和不同语言的server链接。

本篇主要介绍下ActiveMQ与RabbitMQ的安装配置及使用。

**如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以<a

href="https://jq.qq.com/?_wv=1027&k=52sgH1J"

target="_blank">

加入我们的java学习圈,点击即可加入

</a>

,共同学习,节约学习时间,减少很多在学习中遇到的难题。**

二、ActiveMQ

2.1 windows上ActiveMQ的安装

ActiveMq可以在ActiveMq官网 下载并安装。

选择需要的版本,下载完成后,解压文件(window下用winrar/其他解压工具,linux下tar命令)并进入文件夹的bin目录下:

如图所示:

在这里插入图片描述

windows下可以在powershell下用:

./activemq start 或者./activemq.bat start

在cmd下只能用:

activemq.bat start

2.2 Linux上ActiveMQ的安装

ActiveMq可以在ActiveMq官网 下载并安装。

比如下载linux版本5.15.9:

http://mirror.bit.edu.cn/apache//activemq/5.15.9/apache-activemq-5.15.9-bin.tar.gz

下载后解压:

tar -xvf apache-activemq-5.15.9-bin.tar.gzcd apache-activemq-5.15.9/bin

启动:

./activemq start2.3 修改Admin用户名密码在ActiveMQ的conf目录下,找到: jetty-realm.properties。jetty-realm.properties文件默认存储:

admin: admin, admin

user: user, user

规则为

username: password [,rolename ...]

修改为:

cff: 123, admin

user: user, user

这样可以用cff/123登录了。

### 2.4 启动后界面

启动后浏览器输入 http://127.0.0.1:8161/ 如图所示:


![在这里插入图片描述](https://www.pomit.cn/upload/picture/20190520/178615078994176.png)

点击 Manage ActiveMQ broker 跳转到 http://127.0.0.1:8161/admin/; 可以在里面查看消息队列等信息及统计。

![在这里插入图片描述](https://www.pomit.cn/upload/picture/20190725/201980671717632.png)


## 三、RabbitMQ

### 3.1 Windows上RabbitMQ的安装部署

#### 3.1.1 安装RabbitMQ Server

RabbitMQ可以在[RabbitMQ官网](https://www.rabbitmq.com/) 下载并安装。

这里只说windows的安装过程:

- 1.下载rabbitmq-server-3.7.15.exe,下载完成后,双击安装,会提示先安装erlang,erlang的官方地址是:[https://www.erlang.org/downloads](https://www.erlang.org/downloads)

- 2.安装完erlang,然后安装RabbitMQ,安装过程没有任何需要注意的,就是一路往下。

- 3.RabbitMQ安装完成后。找到RabbitMQ的路径:

比如我的windows10会出现这个:

![在这里插入图片描述](https://www.pomit.cn/upload/picture/20190626/191608239776000.png)

然后我点击RabbitMQ Service - start:

![在这里插入图片描述](https://www.pomit.cn/upload/picture/20190626/191608451625216.png)

然后RabbitMQ就在5672端口监听消息了。


#### 3.1.2 开启RabbitMQ Manager

**开启Manager:**

为了启动管理服务,能够查看RabbitMQ的界面,我们需要打开RabbitMQ Command Prompt命令行,然后切换到RabbitMQ安装目录下的sbin目录,输入命令```rabbitmq-plugins.bat enable rabbitmq_management```:

![在这里插入图片描述](https://www.pomit.cn/upload/picture/20190626/191611319914752.png)


这里不建议自己启动命令提示符,或者使用powershell,因为会出现```ERLANG_HOME not set correctly.```错误。

**添加用户:**

打开RabbitMQ Command Prompt命令行,然后切换到RabbitMQ安装目录下的sbin目录,输入下面命令:

添加用户pomit,密码123456

rabbitmqctl.bat add_user pomit 123456

赋予用户pomit管理员角色

rabbitmqctl.bat set_user_tags pomit administrator

### 3.2 Linux上RabbitMQ的安装部署

#### 3.2.1 安装RabbitMQ Server
网上有很多教程,不过我还是觉得这个写得好:[原文](https://blog.csdn.net/y_k_y/article/details/81350274)

这个里面写了很多方法,但是经过试验,还是使用脚本安装省心,还不会出错。

**安装erlang和rabbitmq-server:**

使用脚本安装方法:

#创建erlang.repo库

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

#安装

yum install erlang

#创建rabbitmq-server.repo库

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

#安装

yum install rabbitmq-server

如果是root安装,sudo可以去掉。

**注意:**这些命令都执行完成后,还是可能有问题。比如在yum install rabbitmq-server的过程中,可能会出现:

```Package: rabbitmq-server-3.7.16-1.el6.noarch (rabbitmq_rabbitmq-server) Requires: socat```

这时候就要再安装socat:

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/socat-1.7.2.4-1.el6.rf.x86_64.rpm

yum install socat-1.7.2.4-1.el6.rf.x86_64.rpm

#安装完成之后,重新安装rabbitmq-server
yum install rabbitmq-server

启动rabbitmq-server:service rabbitmq-server start

这时RabbitMQ就在5672端口监听消息了。

3.2.2 开启RabbitMQ Manager

输入命令:

rabbitmq-plugins enable rabbitmq_management

新建用户:

如果这时候浏览器输入http://127.0.0.1:15672/进行访问的话,使用guest/guest是登录不上的,因为guest用户不允许远程登录,所以需要新建一个用户,并加入到administrator角色中,然后浏览器就可以使用新建的用户登录了:

# 添加用户pomit,密码123456
rabbitmqctl add_user pomit 123456
 
# 赋予用户pomit管理员角色
rabbitmqctl set_user_tags pomit administrator

3.3 界面登录

浏览器输入http://127.0.0.1:15672/进行访问:

在这里插入图片描述

使用默认账号登录:guest/guest

在这里插入图片描述

到这里,安装工作搞一段落了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JAVA代码的热部署,动态语言Groovy使用的三种方式

    Groovy是构建在JVM上的一个轻量级却强大的动态语言, 它结合了Python、Ruby和Smalltalk的许多强大的特性.

    品茗IT
  • SpringBoot入门建站全系列(九)文件上传功能与下载方式

    Spring对文件上传做了简单的封装,就是用MultipartFile这个对象去接收文件,当然有很多种写法,下面会一一介绍。

    品茗IT
  • SpringBoot入门建站全系列(十二)Spring Security使用token做认证

    Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决...

    品茗IT
  • 如何挖掘1500刀的反序列化漏洞

    我找到了一个私人项目****(不能透露他的名字,我们暂且称之为Redacted.com)。测试这个项目的人非常之少。

    周俊辉
  • Confluence 6 服务器硬件要求指南

    服务器管理员可以通过本页面的指南来对在运行 Confluence 评估版本的最小服务器硬件需求进行评估。应为实际的服务器负载是很难进行预测的,所以最好的办法是通...

    HoneyMoose
  • 《快学 Go 语言》第 5 课 —— 神奇的切片

    切片无疑是 Go 语言中最重要的数据结构,也是最有趣的数据结构,它的英文词汇叫 slice。所有的 Go 语言开发者都津津乐道地谈论切片的内部机制,它也是 Go...

    老钱
  • 【LTE指标监控分析工具】

    日常优化中,指标监控是确保网络正常运行不可或缺的第一步骤。LTE网络,而造成LTE网络关键指标波动的主要原因有小区用户突增、LTE小区突发干扰、高负荷几个方面,...

    用户6184845
  • Confluence 6 配置推荐更新邮件通知默认的初始化设置

    Confluence 为订阅者发送常规邮件报告,这个邮件报告中包含有用户具有查看权限的空间的最新的内容。这个被称为 推荐更新(Recommended Updat...

    HoneyMoose
  • 成人世界黑话鉴定指南

    乔戈里
  • Python 使用 os.fork() 创建子进程

    kongxx

扫码关注云+社区

领取腾讯云代金券