RabbitMQ 是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,即需要先安装部署 Erlang 环境再安装 RabbitMQ 环境。
①进入官网,点击 Get Started
②点击 Download + Installation 进入
③在新页面找到右侧,Install Windows 安装windows版本
④然后页面下拉,找到 Dependencies,下载 rabbitMQ 服务器
下载 OTP 环境:
回到目录…
①找到我们的 otp_win64_25.3.exe
安装包,一路傻瓜式安装 next
下一步,安装即可。
②找到安装目录的 bin 目录,D:\OTP\Erlang_OTP\bin
回到目录…
找到我们的 rabbitmq-server-3.11.11.exe
安装包,一路傻瓜式安装 next
下一步,安装即可。
安装过程中,遇到弹窗点允许,没有弹窗则无视。
安装成功后,我们使用 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-的完全删除
回到目录…
RabbitMQ 官网:https://www.rabbitmq.com
① 运行以下命令,安装 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
回到目录…
① 运行以下命令,下载 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
回到目录…
① 进程操作
# 后台启动
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
、集群化端口 25672
、HTTP 协议连接 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
使用新用户登录
进入了之后会显示当前的消息队列情况,包括版本号、Erlang版本等。。
在 Docker 上安装部署 RabbitMQ 方便快捷,不需要额外安装 Erlang 环境。
Docker 官网:https://hub.docker.com,查询 rabbitmq 的版本,选择带 management
的,,包含 web 管理页面。
拉取镜像:
docker pull rabbitmq:management
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rabbitmq management 6c3c2a225947 15 months ago 253MB
①启动容器
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工具使用的对等发现服务端口5671
,5672
: AMQP协议,客户端访问端口15671
: 管理监听端口15672
: web管理后台端口25672
: rabbitmq集群的端口号
②查看 rabbitmq 运行日志:
docker logs rabbitmq
①进入容器
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的学习,学习了在不同环境下安装 RabbitMQ,如windows11、Linux(centOS)、Docker中部署,我们在学习使用时可自选方案安装。之后的学习内容将持续更新!!!