RabbitMQ 学习笔记2 - 安装 RabbitMQ

0.背景

本文记录安装 RabbitMQ 的过程。

1. 前置准备

在 安装 安装 RabbitMQ 之前,先要安装下面的依赖项。

  • erlang : 由于RabbitMQ 是用 erlang 开发,因此需要安装以支持运行。
  • socat: 一个多功能的网络工具,名字来由是”SocketCAT”。
  • logrotate:一个日志文件管理工具。

(1) 安装erlang
参考我的另一篇文章:https://www.jianshu.com/p/3bae58df9a9c

(2) 安装socat

  yum install  socat

(3) 安装logrotate

  yum install  logrotate

2. 安装 RabbitMQ

一般说安装 RabbitMQ 指的是安装 RabbitMQ 的 服务端软件 rabbitmq-server 。
客户端一般是通过 各个编程软件的框架(类库包)来连接使用。

我这里采用 下载NPM再安装的方式。

获得NPM并安装

  • 在官方网址上找到合适的版本,参考 安装指南 中的 [ Download the Server ] 章节。
  • 下载完成后,使用 yum install -y 后面跟上软件包名,开始安装。
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm
  
yum install -y rabbitmq-server-3.8.3-1.el7.noarch.rpm 

3. 启动 RabbitMQ 的服务端

chkconfig
安装RabbitMQ服务器软件包时,默认情况下不会将服务器作为守护程序启动。 在系统引导时默认启动守护程序,以管理员身份运行。执行下面指令:

chkconfig rabbitmq-server on

启动和停止操作

service rabbitmq-server start
service rabbitmq-server stop

查看服务的运行状态

systemctl status rabbitmq-server.service

也可以通过 lsof 查看端口号的方式检查是否已经运行。

lsof -i:5672 

rabbitmqctl指令
rabbitmqctl 是管理 rabbitmq 的工具。你可以通过 它查看 RabbitMQ的状态。

# 查看状态
rabbitmqctl status

其他配置
参考官网:https://www.rabbitmq.com/configure.html

4. 通过 web 方式 管理 RabbitMQ

RabbitMQ 提供了一个很方便的 web管理系统。
RabbitMQ Management 插件 为 RabbitMQ 提供了一个管理UI和HTTP API。

这个插件包含在RabbitMQ发行版中,在使用之前必须启用它。

启用插件 rabbitmq_management

rabbitmq-plugins enable rabbitmq_management

然后就可以登录了

使用网址登录:

 http://{node-hostname}:15672/.
image.png

默认有个 guest 用户,不过只能再本机登录,因为我的 rabbitmq 装在虚拟机里,我只能新创建一个用户来远程登录。

创建这个web管理系统中的 账户

rabbitmqctl add_user admin admin

上面我创建一个用户,账户名: admin , 密码:admin

赋予刚刚创建的账户为 超级管理员权限 "administrator

rabbitmqctl set_user_tags admin administrator

为 admin 赋予权限,使之可以访问 vhost
下面的指令 为 admin 赋予权限,使得可以访问 vhost 名字为 / 的资源。

rabbitmqctl set_permissions -p / admin "." "." ".*"

说明:
/ 是个 vhost 资源名称
"." "." ".*" 标识权限的类型,和读写权限。

完成。

4. 参考

https://www.rabbitmq.com/install-rpm.html

https://weifabiao.com/server/528/

管理工具:https://www.rabbitmq.com/management.html
插件管理:https://www.rabbitmq.com/plugins.html#basics

指令说明:https://www.rabbitmq.com/man/rabbitmqctl.8.html#

推荐阅读更多精彩内容