不同环境下安装 RabbitMQ

文章目录

  • 我提供了 3 种方案,针对不同环境安装 RabbitMQ,自行选择
  • 一、Windows 安装
    • 1.1 下载安装包
    • 1.2 安装配置 Erlang 环境
    • 1.3 安装 RabbitMQ 并启动
  • 二、Linux 安装 (CentOS7)
    • 2.1 安装 Erlang
    • 2.2 安装 RabbitMQ
    • 2.3 启动 RabbitMQ
  • 三、Docker 中部署 (便捷)
    • 3.1 拉取镜像
    • 3.2 启动 rabbitmq 容器
    • 3.3 进入容器


提示:以下是本篇文章正文内容,RabbitMQ 系列学习将会持续更新

在这里插入图片描述

我提供了 3 种方案,针对不同环境安装 RabbitMQ,自行选择

一、Windows 安装

RabbitMQ 是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署 Erlang 环境再安装 RabbitMQ 环境

1.1 下载安装包

①进入官网,点击 Get Started
不同环境下安装 RabbitMQ_第1张图片
②点击 Download + Installation 进入
不同环境下安装 RabbitMQ_第2张图片

③在新页面找到右侧,Install Windows 安装windows版本
不同环境下安装 RabbitMQ_第3张图片

④然后页面下拉,找到 Dependencies,下载 rabbitMQ 服务器
不同环境下安装 RabbitMQ_第4张图片
下载 OTP 环境:
不同环境下安装 RabbitMQ_第5张图片

下载完成:
在这里插入图片描述

回到目录…

1.2 安装配置 Erlang 环境

①找到我们的 otp_win64_25.3.exe 安装包,一路傻瓜式安装 next 下一步,安装即可。

②找到安装目录的 bin 目录,D:\OTP\Erlang_OTP\bin
不同环境下安装 RabbitMQ_第6张图片

③打开系统高级环境变量 -> 系统变量 path
不同环境下安装 RabbitMQ_第7张图片

④添加刚刚的 bin 路径
不同环境下安装 RabbitMQ_第8张图片

回到目录…

1.3 安装 RabbitMQ 并启动

找到我们的 rabbitmq-server-3.11.11.exe 安装包,一路傻瓜式安装 next 下一步,安装即可。
不同环境下安装 RabbitMQ_第9张图片
安装过程中,遇到弹窗点允许,没有弹窗则无视。

安装成功后,我们使用 win+R + cmd 进入 windows 控制台:

# 进入 rabbitmq 的 sbin 目录
C:\Users\14156>d:
D:\>cd D:\RabbitMQ\rabbitmq_server-3.11.11\sbin

# 启动 RabbitMQ 服务
rabbitmq-server.bat

# 启动 RabbitMQ 监控插件
rabbitmq-plugins enable rabbitmq_management

# 查看状态
rabbitmqctl status

在浏览器访问 http://localhost:15672,本地访问的用户名和密码都是 guest
在这里插入图片描述

注意事项:

  • 如果安装途中出现任何异常问题,如报错不能安装等,访问官方文档有详细说明:Windows-specific Issues 官网关于windows问题解决方案
  • 如果想要彻底卸载 RabbitMQ,则参考文章:RabbitMQ-的完全删除

回到目录…

二、Linux 安装 (CentOS7)

RabbitMQ 官网:https://www.rabbitmq.com

2.1 安装 Erlang

① 运行以下命令,安装 erlang 所需要的依赖

yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel

② 运行以下命令,下载 erlang 安装包。下载网速太慢可以直接用 百度网盘,提取码:t0e3

wget http://erlang.org/download/otp_src_21.1.tar.gz

③ 运行以下命令,解压 erlang 安装包

tar -zxvf otp_src_21.1.tar.gz

④ 运行以下命令,进入 erlang 安装包的解压路径,并为 erlang 创建一个新的目录

cd otp_src_21.1
mkdir -p /usr/local/erlang

⑤ 依次运行以下命令,编译并安装 erlang

./configure --prefix=/usr/local/erlang
make && make install

⑥ 安装完成后,运行以下命令,为 erlang 配置环境变量

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

⑦ 运行以下命令,使环境变量立即生效

source /etc/profile

⑧ 运行以下命令,返回系统的 /root 目录,然后查看 erlang 版本,确认是否安装成功

cd ~
erl -version

回到目录…

2.2 安装 RabbitMQ

① 运行以下命令,下载 RabbitMQ 安装包。下载网速太慢可以直接用 百度网盘,提取码:bevb

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz

② 运行以下命令,解压 RabbitMQ 安装包

tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz

③ 解压完成后,运行以下命令,为 RabbitMQ 配置环境变量

echo 'export PATH=$PATH:/root/rabbitmq_server-3.7.8/sbin' >> /etc/profile

④ 运行以下命令,使环境变量立即生效

source /etc/profile

回到目录…

2.3 启动 RabbitMQ

① 进程操作

# 后台启动
rabbitmq-server -detached
# 启动 RabbitMQ 监控插件,这样就可以在浏览器上进行实时访问和监控了
rabbitmq-plugins enable rabbitmq_management

# 停止服务器
rabbitmqctl stop

② 用户操作

# 创建新用户
rabbitmqctl add_user 用户名 密码

# 设置用户权限
rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"

# 修改用户角色为管理员
rabbitmqctl set_user_tags 用户名 administrator

# 查看用户列表
rabbitmqctl list_users

# 删除guest默认用户
rabbitmqctl delete_user guest

③ 查看服务器状态

rabbitmqctl status

开放的端口信息:AMQP 协议连接 5672集群化端口 25672HTTP 协议连接 15672

Listeners
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Interface: [::], port: 15672, protocol: http, purpose: HTTP API

④ 测试访问:http://1.15.76.95:15672 使用新用户登录
不同环境下安装 RabbitMQ_第10张图片
进入了之后会显示当前的消息队列情况,包括版本号、Erlang版本等。。
不同环境下安装 RabbitMQ_第11张图片


回到目录......

三、Docker 中部署 (便捷)

在 Docker 上安装部署 RabbitMQ 方便快捷,不需要额外安装 Erlang 环境。

3.1 拉取镜像

Docker 官网:https://hub.docker.com,查询 rabbitmq 的版本,选择带 management 的,,包含 web 管理页面。
不同环境下安装 RabbitMQ_第12张图片

拉取镜像:

docker pull rabbitmq:management
docker images
REPOSITORY   TAG          IMAGE ID       CREATED         SIZE
rabbitmq     management   6c3c2a225947   15 months ago   253MB

3.2 启动 rabbitmq 容器

①启动容器

docker run -d \
--name rabbitmq \
--restart always \
-v ~/docker-data/rabbitmq/data:/var/lib/rabbitmq \
-p 5672:5672 -p 15672:15672 \
rabbitmq:management

RabbitMQ 重要的端口

  • 1883: MQTT消息队列遥测传输
  • 4369: EPMD、RabbitMQ节点间、CLI工具使用的对等发现服务端口
  • 56715672: AMQP协议,客户端访问端口
  • 15671: 管理监听端口
  • 15672: web管理后台端口
  • 25672: rabbitmq集群的端口号

②查看 rabbitmq 运行日志:

docker logs rabbitmq

3.3 进入容器

①进入容器

docker exec -it rabbitmq /bin/bash

②查看状态

rabbitmqctl status
Status of node rabbit@ebe207194e57 ...
Runtime

OS PID: 21
OS: Linux
Uptime (seconds): 641
Is under maintenance?: false
RabbitMQ version: 3.9.11
Node name: rabbit@ebe207194e57
Erlang configuration: Erlang/OTP 24 [erts-12.2] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]
Erlang processes: 385 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /etc/rabbitmq/enabled_plugins
Enabled plugins:

 * rabbitmq_prometheus
 * prometheus
 * accept
 * rabbitmq_management
 * amqp_client
 * rabbitmq_web_dispatch
 * cowboy
 * cowlib
 * rabbitmq_management_agent

Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@ebe207194e57
Raft data directory: /var/lib/rabbitmq/mnesia/rabbit@ebe207194e57/quorum/rabbit@ebe207194e57

Config files

 * /etc/rabbitmq/conf.d/10-default-guest-user.conf

Log file(s)

 * /var/log/rabbitmq/rabbit@ebe207194e57_upgrade.log
 * <stdout>

Alarms

(none)

Memory

Total memory used: 0.1416 gb
Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 0.7222 gb

reserved_unallocated: 0.0768 gb (54.25 %)
code: 0.0352 gb (24.85 %)
other_system: 0.0251 gb (17.74 %)
other_proc: 0.0184 gb (13.0 %)
other_ets: 0.0032 gb (2.25 %)
atom: 0.0014 gb (1.01 %)
plugins: 0.0012 gb (0.85 %)
metrics: 2.0e-4 gb (0.16 %)
mgmt_db: 2.0e-4 gb (0.14 %)
mnesia: 1.0e-4 gb (0.06 %)
binary: 1.0e-4 gb (0.06 %)
quorum_ets: 0.0 gb (0.02 %)
msg_index: 0.0 gb (0.02 %)
connection_other: 0.0 gb (0.0 %)
stream_queue_procs: 0.0 gb (0.0 %)
stream_queue_replica_reader_procs: 0.0 gb (0.0 %)
allocated_unused: 0.0 gb (0.0 %)
connection_channels: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
queue_slave_procs: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)
stream_queue_coordinator_procs: 0.0 gb (0.0 %)

File Descriptors

Total: 2, limit: 1048479
Sockets: 0, limit: 943629

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 25.1065 gb

Totals

Connection count: 0
Queue count: 0
Virtual host count: 1

Listeners

Interface: [::], port: 15672, protocol: http, purpose: HTTP API
Interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

③用户操作:创建新用户,并修改用户角色为管理员

# 创建新用户
rabbitmqctl add_user 用户名 密码

# 设置用户权限
rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"

# 修改用户角色为管理员
rabbitmqctl set_user_tags 用户名 administrator

# 查看用户列表
rabbitmqctl list_users

# 删除guest默认用户
rabbitmqctl delete_user guest

④ 测试访问:http://1.15.76.95:15672 使用新用户登录
不同环境下安装 RabbitMQ_第13张图片

回到目录…


总结:
提示:这里对文章进行总结:
本文是对RabbitMQ的学习,学习了在不同环境下安装 RabbitMQ,如windows11、Linux(centOS)、Docker中部署,我们在学习使用时可自选方案安装。之后的学习内容将持续更新!!!

你可能感兴趣的:(SpringCloud,Git,Linux,Docker,rabbitmq,分布式,linux,docker,erlang)