本地部署消息中间件 RabbitMQ 并实现外网访问 (Linux 版本)

RabbitMQ 是一款基于 AMQP 协议的阿里开源的消息中间件,支持高吞吐量、能够承受互联网项目高并发挑战。同时支持大量高级功能例如:延迟消息、消息回溯、死信队列等。本文将详细的介绍如何利用 Docker 在本地部署 RabbitMQ 并结合路由侠实现外网访问本地部署的 RabbitMQ 。

第一步 环境准备

1,安装 Docker (如 Ubuntu 上),可以使用以下命令。

复制代码
sudo apt-get update
sudo apt-get install -y docker.io

2,安装后启动并设为自启动。

复制代码
sudo systemctl start docker
sudo systemctl enable docker

验证 Docker 是否安装成功。

复制代码
docker --version
第二步 本地部署安装 RabbitMQ

1,拉取镜像。

复制代码
docker pull rabbitmq:3.7.7-management

2,创建数据目录。

复制代码
mkdir -p /home/test/data

3,根据下载的镜像创建和启动容器。

复制代码
docker run -d \
  --name rabbitmq3.7.7 \
  -p 5672:5672 \
  -p 15672:15672 \
  -v $(pwd)/data:/var/lib/rabbitmq \
  --hostname myRabbit \
  -e RABBITMQ_DEFAULT_VHOST=my_vhost \
  -e RABBITMQ_DEFAULT_USER=admin \
  -e RABBITMQ_DEFAULT_PASS=admin \
  rabbitmq:3.7.7-management

4,访问 Rabbitmq ,在浏览器输入 http://localhost:15672 ,即可登录 Rabbitmq 界面。初始用户名和密码:admin/admin 。

第三步 外网访问本地的 RabbitMQ

当前未提供网页管理,先在任意一台 Windows 机器安装路由侠 Windows 版,用作跨机器管理。点此下载

1,下载安装完成后,打开路由侠界面,进入【设备中心】。点击右下角的"添加设备",此时可查看到对应的安装码,此安装码用于将设备添加到对应账号下,可选中后复制。

2,直接下载后导入。

复制代码
wget https://dl.luyouxia.com:8443/v2/lyx-docker-x86_64.tar
docker load -i lyx-docker-x86_64.tar

3,然后使用该镜像启动容器。

复制代码
docker run --name lyx -it --restart=always --net=host -e code=这里填写安装码 luyouxia/lyx

4,当前 Linux 终端这边,如果是使用的上面的命令,Docker 是运行在前台,此时可以按住 Ctrl+C ,退出路由侠,容器也将退出。现在可以使用以下命令将其放入后台持续运行。

复制代码
docker start lyx

5,现在回到 Windows 这边设备列表,点击右上角的×返回主界面,再次进入,就可以找到这个设备,可以修改名称。

6,回到主界面,点击【内网映射】。

7,注意右上角的设备名称下拉框,这里选中刚刚添加的设备名称,此时在这个界面上添加的映射,就属于刚刚这个设备。添加或修改一般需要等待30秒,容器中的路由侠进程就会更新并加载。切换好设备后,点击【添加映射】。

8,选择【原生端口】。

9,在内网端口里填写端口 15672 后点击【创建】按钮,如下图。

10,创建好后,就可以看到一条映射的公网地址,鼠标右键点击【复制地址】。

11,在外网电脑上,打开浏览器,在地址栏输入从路由侠生成的外网地址,就可以看到内网部署的 RabbitMQ 界面了。

相关推荐
maosheng11463 小时前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken4 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2914 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C4 小时前
CPU Cache
linux·cache
Hoshino.415 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
恒创科技HK6 小时前
通用型云服务器与计算型云服务器:您真正需要哪些配置?
运维·服务器
吴佳浩 Alben6 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源7 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
小涛不学习7 小时前
手写线程池(从0实现 ThreadPoolExecutor 核心思想)
windows
源远流长jerry7 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip