目录
二 : Erlang 环境下载(注意在下载之前需了解Erlang版本与RabbitMQ版本的匹配问题
一 : RabbitMQ 简介
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
1.什么是MQ
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。
其主要用途:不同进程Process/线程Thread之间通信。
为什么会产生消息队列?有几个原因:
不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;
不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;
主要特性:
需要明确的是RabbitMQ的开发语言:Erlang
以下是百度百科对Erlang 的简介 ,里面有说 Erlang 是一种运行环境 , 而RabbitMQ便是由该语言开发 , 所以RabbitMq的运行
依赖于 Erlang
二 : Erlang 环境下载(注意在下载之前需了解Erlang版本与RabbitMQ版本的匹配问题
- 下载Erlang安装文件
// 笔者这里原本采用的rpm yum 安装, 后来遇到了点问题 , 就改用了下载gz 进行安装 http://erlang.org/download/otp_src_22.3.tar.gz
-
解压erlang的gz文件
tar -zxvf otp_src_22.3.tar.gz ## 然后进行编译源码命令 make ## 执行完编译源码命令后 进行安装 make install
-
安装完成后可以用erl命令查看是否安装成功
erl -version
三 : 安装RabbitMQ
- 安装准备,下载RabbitMQ Server
// 同样这边笔者采用的也是 在官网下载好压缩文件 然后进行本地解压的安装方式 https://github-production-release-asset-2e65be.s3.amazonaws.com/924551/9b363b00-6236-11ea-964e-aebcb201484a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200405%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200405T023003Z&X-Amz-Expires=300&X-Amz-Signature=11eadac64948dba8e2a802b56dc2dbd115bdf23c0f4732abbf5abf14785c650c&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Drabbitmq-server-generic-unix-3.8.3.tar.xz&response-content-type=application%2Foctet-stream
需注意该链接下载好之后的文件是XZ文件 ,xz是一种压缩文件格式,采用LZMA SDK压缩,目标文件较gzip压缩文件(.gz或·tgz)小30%,较·bz2小15%。 linux 服务器如果无法进行解压可进行下载
yum install xz // 然后使用 xz -d 进行解压 xz -d rabbitmq-server-generic-unix-3.8.3.tar.xz // 解压完之后 xz 文件变成了tar 文件 // 然后进行正常的tar 解压即可 tar -zxvf rabbitmq-server-generic-unix-3.8.3.tar
-
.添加RabbitMQ 命令至环境中
// 将rabbit的相关指令写到环境变量中 // PATH 路径根据个人实际情况 export PATH=/usr/local/src/mysoft/rabbitmq_server-3.8.3/sbin:$PATH // 使之生效 source /etc/profile
-
启动
// 启动后台管理 cd 至 rabbitMQ 解压文件sbin目录下 rabbitmq-plugins enable rabbitmq_management
四 : 页面访问RabbitMQ
http://个人ip地址:15672/ 便可看见如下页面
RabbitMQ为用户提供了默认用户 也就是 guest 不过由于guest用户被限制,只能通过localhost访问,因此我们需要新建一个用户,并授予管理员权限。
在这里笔者不建议修改guest 的远程登陆限制 , guest 为RabbitMQ提供的默认账户 , 用户名为众所周知 , 所以安全起见 , 请不要随意更改guest的远程登录权限问题 ,
用户完全可与自己新建一个用户进行使用 , 笔者这里新建用户名为admin,密码为admin的用户,并授予管理员(administrator)权限(名称密码根据个人习惯指定
// 添加用户
rabbitmqctl add_user admin admin
// 添加用户权限
rabbitmqctl set_permissions -p "/" admin".*" ".*" ".*"
// 设置用户角色
rabbitmqctl set_user_tags admin administrator
然后就可以使用该账户进行远程访问