当前位置: 首页 > wzjs >正文

网页广告拦截怎么设置seo报名在线咨询

网页广告拦截怎么设置,seo报名在线咨询,自己用电脑做网站服务器吗,网站第二次备案Docker 搭建 RabbitMQ 前言一、准备工作二、设置目录结构三、编写启动脚本四、Host 网络模式 vs Port 映射模式1. Host 网络模式2. Port 映射模式 五、端口配置对比六、配置示例七、查看与管理八、扩展与高可用九、常用命令 前言 在现代微服务与分布式架构中,Rabbi…

Docker 搭建 RabbitMQ

  • 前言
  • 一、准备工作
  • 二、设置目录结构
  • 三、编写启动脚本
  • 四、Host 网络模式 vs Port 映射模式
    • 1. Host 网络模式
    • 2. Port 映射模式
  • 五、端口配置对比
  • 六、配置示例
  • 七、查看与管理
  • 八、扩展与高可用
  • 九、常用命令


前言

在现代微服务与分布式架构中,RabbitMQ 是一款成熟的开源消息队列中间件,提供了可靠的消息投递、丰富的路由策略和管理插件。通过 Docker 部署 RabbitMQ,可以快速搭建、轻松扩展,并与容器化平台无缝集成。

本文将指导你通过 Docker 快速搭建一个 RabbitMQ 环境,讲解目录结构、启动脚本编写、参数详解,以及两种网络模式(Host 网络模式 vs Port 映射模式)的部署示例与对比。


一、准备工作

首先,确保你的系统上已经安装了 Docker。

Linux上进行Docker安装有两种方式:

  1. Docker自动化安装
  2. Docker手动安装

可以根据该文章的步骤进行安装:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502

二、设置目录结构

为了持久化存储日志、数据和配置,需要在宿主机上创建对应目录,并赋予 RabbitMQ 容器内部用户(UID 999)的写权限。

# 创建日志、数据和配置目录
mkdir -p "$DIR/rabbitmq/log"
mkdir -p "$DIR/rabbitmq/data"
mkdir -p "$DIR/rabbitmq/conf"# 设置目录权限为容器内 rabbitmq 用户(UID 999)
sudo chown -R 999:999 \"$DIR/rabbitmq/log" \"$DIR/rabbitmq/data" \"$DIR/rabbitmq/conf"
  • log:存放 RabbitMQ 日志

  • data:存放 Mnesia 数据库文件

  • conf:存放自定义配置(如 rabbitmq.conf、advanced.config、enabled_plugins)

三、编写启动脚本

将目录准备工作与容器运行命令整合到脚本 rabbitmq_install.sh 中,方便一键部署与更新。

#!/bin/bash# 安装路径与容器名称
DIR="/opt/docker/demo"
DOCKER_NAME="docker-rabbitmq"# 创建目录并设置权限
mkdir -p "$DIR/rabbitmq/log"
mkdir -p "$DIR/rabbitmq/data"
mkdir -p "$DIR/rabbitmq/conf"sudo chown -R 999:999 "$DIR/rabbitmq/log" \"$DIR/rabbitmq/data" \"$DIR/rabbitmq/conf"# 运行 RabbitMQ 容器(Host 网络模式)
docker run -d \--restart=always \                          # 容器重启策略--name "$DOCKER_NAME" \                     # 容器名称--network host \                            # 主机网络模式-v "$DIR/rabbitmq/log:/var/log/rabbitmq" \  # 日志挂载-v "$DIR/rabbitmq/data:/var/lib/rabbitmq/mnesia" \  # 数据挂载-v "$DIR/rabbitmq/conf:/etc/rabbitmq" \     # 配置挂载-e RABBITMQ_DEFAULT_USER=admin \            # 默认用户名-e RABBITMQ_DEFAULT_PASS=admin123456 \      # 默认密码-e RABBITMQ_ENABLED_PLUGINS="rabbitmq_management" \ # 启用管理插件rabbitmq:management                         # 官方管理版镜像

保存后,赋予执行权限并运行:

chmod +x run_rabbitmq.sh
./run_rabbitmq.sh

解释各个参数

  • -d:后台运行容器。
  • --restart=always:重启策略:当容器退出或 Docker 重启时,总是自动重启该容器。
  • --name "$DOCKER_NAME":容器的名称为 docker-rabbitmq
  • --network host:使用主机网络模式(Host networking),容器与宿主机共享网络栈。
  • -v "$DIR/rabbitmq/log:/var/log/rabbitmq":日志挂载
  • -v "$DIR/rabbitmq/data:/var/lib/rabbitmq/mnesia": 数据挂载。
  • -v "$DIR/rabbitmq/conf:/etc/rabbitmq":配置挂载。
  • -e RABBITMQ_DEFAULT_USER=…:环境变量,设置 RabbitMQ 默认用户名(第一次启动时生效)。
  • -e RABBITMQ_DEFAULT_PASS=…:环境变量,设置 RabbitMQ 默认密码。
  • -e RABBITMQ_ENABLED_PLUGINS=…:环境变量,启用指定插件(以逗号分隔),此处开启管理控制台插件。
  • rabbitmq:management:指定镜像及标签,management 版本内置了管理插件与 Web 控制台。

四、Host 网络模式 vs Port 映射模式

1. Host 网络模式

  • 命令示例

    docker run -d \--restart=always \--name "$DOCKER_NAME" \--network host \-v "$DIR/rabbitmq/log:/var/log/rabbitmq" \-v "$DIR/rabbitmq/data:/var/lib/rabbitmq/mnesia" \-v "$DIR/rabbitmq/conf:/etc/rabbitmq" \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=admin123456 \-e RABBITMQ_ENABLED_PLUGINS="rabbitmq_management" \rabbitmq:management
    
  • 特点

    • 容器直接使用宿主机的网络栈,RabbitMQ 内部监听的端口(默认 5672、15672)会直接映射到宿主机相同端口。

    • 网络性能最佳,无额外的 NAT 转发开销。

  • 优点

    • 简化网络配置,无需额外的 -p 端口映射。

    • 延迟更低,吞吐更高。

  • 缺点

    • 与宿主机完全共享端口,若宿主机已有同端口服务运行,会冲突。

    • 安全隔离较弱,容器网络直接暴露给宿主机。

2. Port 映射模式

  • 命令示例

    docker run -d \--restart=always \--name "$DOCKER_NAME" \-p 5673:5672 \-p 15673:15672 \-v "$DIR/rabbitmq/log:/var/log/rabbitmq" \-v "$DIR/rabbitmq/data:/var/lib/rabbitmq/mnesia" \-v "$DIR/rabbitmq/conf:/etc/rabbitmq" \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=admin123456 \-e RABBITMQ_ENABLED_PLUGINS="rabbitmq_management" \rabbitmq:management
    
  • 含义

    • -p 5673:5672:将宿主机的 5673 端口映射到容器内的 5672(AMQP)端口。

    • -p 15673:15672:将宿主机的 15673 端口映射到容器内的 15672(管理控制台)端口。

  • 优点

    • 灵活指定宿主机端口,避免与其他服务冲突。

    • 容器网络与宿主机隔离更好,安全性更高。

  • 缺点

    • 相比 Host 模式,略有端口转发开销。

    • 需手动管理多端口映射配置。

五、端口配置对比

特性Host 网络模式Port 映射模式
配置命令--network host-p host:container
网络性能最佳,无 NAT 转发开销有少量转发开销
端口冲突风险高,容器直接占用宿主机端口低,可自定义宿主机端口
安全隔离较弱较强
多容器端口复用不支持支持,不同容器映射到不同端口
配置复杂度简单需要显式映射

六、配置示例

  1. rabbitmq.conf(放置于 $DIR/rabbitmq/conf/rabbitmq.conf)

    # 修改 AMQP 端口
    listeners.tcp.default = 5673  # 修改为你想要的端口# 修改 RabbitMQ 管理界面端口
    management.listener.port = 15673  # 修改为你想要的端口# 允许非本地访问 guest 用户
    loopback_users.guest = false
    
  2. enabled_plugins(放置于 $DIR/rabbitmq/conf/enabled_plugins)

    [rabbitmq_management,rabbitmq_peer_discovery_classic_config].
    

七、查看与管理

  • 查看容器状态

    docker ps | grep "$DOCKER_NAME"
    
  • 查看日志

    tail -f "$DIR/rabbitmq/log/rabbit@$(hostname).log"或docker logs -f $DOCKER_NAME
    
  • 访问管理控制台

    浏览器访问 http://<宿主机IP>:15672,使用 admin/admin123456 登录。
    在这里插入图片描述

八、扩展与高可用

  1. 集群部署

    • 在多台主机上运行相同脚本,调整容器名称与配置

    • 使用 rabbitmq_peer_discovery_classic_config 或 Kubernetes 插件实现自动发现与集群组网

  2. 镜像队列与策略

    • 在管理控制台或配置文件中设置队列镜像策略,确保消息持久化与高可用
  3. 监控与告警

    • 接入 Prometheus、Grafana 等监控体系,利用 RabbitMQ Exporter 采集指标

九、常用命令

  • 修改默认密码

    如果需要修改 RabbitMQ 的默认密码,可以使用以下命令:

    docker exec -it "$DOCKER_NAME" rabbitmqctl change_password admin newpassword
    

    请将 newpassword 替换为希望设置的新密码。

  • 启用其他插件

    如果需要启用其他 RabbitMQ 插件,可以使用以下命令:

    docker exec -it "$DOCKER_NAME" rabbitmq-plugins enable <plugin_name>
    

    请将 <plugin_name> 替换为希望启用的插件名称。

http://www.dtcms.com/wzjs/55785.html

相关文章:

  • 南宁建设网站公司抖音seo推荐算法
  • 建站abc客服电话营销网站建设培训学校
  • 制作网站能挣钱aso具体优化
  • 南昌网站建设行情盐城seo营销
  • 网站开发语言查看新闻软文发稿平台
  • 深圳 经营性网站备案北大青鸟培训机构靠谱吗
  • 科技企业网站如何建设今日nba比赛直播
  • 网站制作课程介绍2022最新国内新闻50条简短
  • 网站统计帮哪个好推广品牌
  • 西安响应式网站建设公司什么是电商平台推广
  • 铜陵网站建设湖北搜索引擎优化
  • 深圳做营销网站公司哪家好淘宝客推广有效果吗
  • 黄骅港贴吧百度贴吧南京seo招聘
  • seo排名赚app是真的吗seo的形式有哪些
  • 烟台建设信息网站朝阳seo建站
  • 潍坊网站建设服务seo门户网站
  • 网站建设与设计的毕业论文上海网络推广渠道
  • 建网站需要多少钱2017seo搜索引擎优化薪酬
  • 在婚纱店做网站优化企业网站的类型
  • 做网站的主流软件5118关键词挖掘工具
  • 网站制作新手教程百度app内打开
  • 寻花问柳专做男人的网站企业排名优化公司
  • 好玩的手机游戏网站推广代理平台登录
  • 网站哪家公司好南宁seo推广公司
  • 中国那个公司的网站做的最好看百度搜索页面
  • 带积分的网站建设seo秘籍优化课程
  • 网站开发是什么工作百家号关键词seo优化
  • 怎样在网站上做专栏网站优化外包顾问
  • 网站怎么发布做微商站长之家的作用
  • 网站建设设计流程给公司做网站的公司