前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web基础配置篇(十): ActiveMQ与RabbitMQ的安装配置及使用

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

作者头像
品茗IT
发布2019-09-12 09:45:58
6540
发布2019-09-12 09:45:58
举报
文章被收录于专栏:品茗IT品茗IT

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下用:

代码语言:javascript
复制
./activemq start 或者./activemq.bat start

在cmd下只能用:

代码语言:javascript
复制
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

代码语言:javascript
复制
规则为

username: password [,rolename ...]

修改为:

cff: 123, admin

user: user, user

代码语言:javascript
复制
这样可以用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

代码语言:javascript
复制
### 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

代码语言:javascript
复制
如果是root安装,sudo可以去掉。

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

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

这时候就要再安装socat:

代码语言:javascript
复制
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

输入命令:

代码语言:javascript
复制
rabbitmq-plugins enable rabbitmq_management

新建用户:

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

代码语言:javascript
复制
# 添加用户pomit,密码123456
rabbitmqctl add_user pomit 123456
 
# 赋予用户pomit管理员角色
rabbitmqctl set_user_tags pomit administrator

3.3 界面登录

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

在这里插入图片描述

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

在这里插入图片描述

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Web基础配置篇(十): ActiveMQ与RabbitMQ的安装配置及使用
    • 一、概述
    • 二、ActiveMQ
      • 2.1 windows上ActiveMQ的安装
        • 2.2 Linux上ActiveMQ的安装
        • 添加用户pomit,密码123456
        • 赋予用户pomit管理员角色
          • 3.3 界面登录
          相关产品与服务
          消息队列 TDMQ
          消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档