朔州公司做网站网站建设投票系统设计
2026/4/17 19:03:54 网站建设 项目流程
朔州公司做网站,网站建设投票系统设计,龙岩网上通缉犯名单查询,怎么用自己主机做网站目录前言1 Mysql1.1 挂载目录结构1.2 创建容器1.2.1 docker run1.2.2 compose2 Nginx2.1 挂载目录结构2.2 创建容器2.2.1 docker run2.2.2 compose3 Nacos3.1 挂载目录结构3.2 创建容器3.2.1 docker run3.2.2 compose4 Redis4.1 挂载目录结构4.2 创建容器4.2.1 docker run4.2.2…目录前言1 Mysql1.1 挂载目录结构1.2 创建容器1.2.1 docker run1.2.2 compose2 Nginx2.1 挂载目录结构2.2 创建容器2.2.1 docker run2.2.2 compose3 Nacos3.1 挂载目录结构3.2 创建容器3.2.1 docker run3.2.2 compose4 Redis4.1 挂载目录结构4.2 创建容器4.2.1 docker run4.2.2 compose5 Sentinel5.1 创建容器5.2.1 docker run5.2.2 compose6 Seata6.1 挂载目录结构6.2 创建容器6.2.1 docker run6.2.2 compose6.2.3 拓展6.2.4 application.yml注释版7 RabbitMQ7.1 挂载目录结构7.2 创建容器7.2.1 先复制默认配置到本地7.2.2 docker run7.2.3 compose前言compose创建的时候。我填写的xxx 代表着你想要的自定义网络名。name指向的xxx是因为如果compose文件不与挂载文件在同一目录下网络名不会按照你写的xxx来创建。这三个xxx统一名字就可以。./作为相对路径在 部分 Shell 环境如 Windows CMD、部分老旧 Linux Shell 中会解析失败Docker 无法识别./对应的宿主机绝对路径替换为$(pwd)Linux/macOS替换为%cd%Windows CMD)或直接用绝对路径。如果网络已经存在了在compose中可以这样指定networks:xxx:# 网络名称必须和 services 中引用的一致external:true# 告诉 Docker Compose该网络已存在直接使用不重复创建1 Mysql1.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── MySql/ # MySQL 挂载目录 ├── conf/ # MySQL 配置文件目录自定义 my.cnf 等 │ └── xxx.cnf ├── data/ # MySQL 数据持久化目录核心存储数据库文件 └── init/ # MySQL 数据初始化目录在创建数据库的时候运行创建库的文件可以多个 ├── xxxxxxx.sql └── xxxxxxx.sqlcnf 文件模板[client] default_character_setutf8mb4 [mysql] default_character_setutf8mb4 [mysqld] character_set_serverutf8mb4 collation_serverutf8mb4_unicode_ci init_connectSET NAMES utf8mb41.2 创建容器1.2.1 docker run# 创建自定义桥接网络对应 Compose 中的 networks.xxx# 这两个等效 效果一样 都是使用bridge网络驱动docker network create --driver bridge xxx docker network create xxx# 启动 MySQL 容器docker run -d\--name mysql\--publish3306:3306\--envTZAsia/Shanghai\--envMYSQL_ROOT_PASSWORDroot\--volume ./MySql/conf:/etc/mysql/conf.d\--volume ./MySql/data:/var/lib/mysql\--volume ./MySql/init:/docker-entrypoint-initdb.d\--health-cmdmysqladmin ping -h localhost -u root -p\$MYSQL_ROOT_PASSWORD\--health-interval 5s\--health-timeout 5s\--health-retries5\--restart unless-stopped\--network xxx\mysql:8.0.40# 简化版启动命令核心参数简写docker run -d\--name mysql\-p3306:3306\-eTZAsia/Shanghai\-eMYSQL_ROOT_PASSWORDroot\-v ./MySql/conf:/etc/mysql/conf.d\-v ./MySql/data:/var/lib/mysql\-v ./MySql/init:/docker-entrypoint-initdb.d\--health-cmdmysqladmin ping -h localhost -u root -p\$MYSQL_ROOT_PASSWORD\--health-interval 5s --health-timeout 5s --health-retries5\--restart unless-stopped\--network xxx\mysql:8.0.401.2.2 composeversion:3.8services:mysql:image:mysql:8.0.40container_name:mysqlports:-3306:3306environment:TZ:Asia/ShanghaiMYSQL_ROOT_PASSWORD:rootvolumes:-./MySql/conf:/etc/mysql/conf.d-./MySql/data:/var/lib/mysql-./MySql/init:/docker-entrypoint-initdb.dhealthcheck:test:[CMD,mysqladmin,ping,-h,localhost,-u root,-p$$MYSQL_ROOT_PASSWORD]interval:5stimeout:5sretries:5restart:unless-stoppednetworks:-xxxnetworks:xxx:driver:bridge# 创建自定义桥接网络name:xxx2 Nginx2.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── Nginx/ # Nginx主配置目录 ├── conf/ # MySQL 配置文件目录自定义 my.cnf 等 │ ├── nginx.conf # Nginx核心配置文件必填 │ └── conf.d # 虚拟主机配置目录可选推荐 │ └── default.conf # 站点配置文件比如反向代理、静态站点 ├── html/ # 静态资源目录默认站点根目录 │ └── index.html # 测试页面 ├── logs/ # 日志目录access.log/error.log └── ssl/ # 可选存放HTTPS证书如需要 ├── server.crt └── server.key2.2 创建容器2.2.1 docker rundocker network create xxxdocker run -d\--name nginx\-p80:80\-v ./Nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro\-v ./Nginx/html:/usr/share/nginx/html\-v ./Nginx/logs:/var/log/nginx\--restart unless-stopped\--network xxx\nginx:1.26.02.2.2 composeversion:3.8services:nginx:image:nginx:1.26.0container_name:nginxports:-80:80volumes:-./Nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro-./Nginx/html:/usr/share/nginx/html-./Nginx/logs:/var/log/nginxcommand:[nginx,-g,daemon off;]restart:unless-stoppednetworks:-xxx# 自定义网络可选隔离容器networks:xxx:driver:bridgename:xxx3 Nacos3.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── Nacos/ # Nacos主配置目录 └── custom.env # 集中管理 Nacos 容器运行时的环境变量的核心配置文件custom.env文件模板PREFER_HOST_MODEhostname MODEstandalone SPRING_DATASOURCE_PLATFORMmysql MYSQL_SERVICE_HOSTmysql MYSQL_SERVICE_DB_NAMEnacos_config MYSQL_SERVICE_PORT3306 MYSQL_SERVICE_USERroot MYSQL_SERVICE_PASSWORDroot MYSQL_SERVICE_DB_PARAMcharacterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/Shanghai nacos.core.auth.enabledtrue nacos.core.auth.server.identity.keyexample nacos.core.auth.server.identity.valueexample nacos.core.auth.plugin.nacos.token.secret.keySecretKey012345678901234567890123456789012345678901234567890123456789nacos_config.sql文件/* * Copyright 1999-2018 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */DROPDATABASEIFEXISTSnacos_config;CREATEDATABASEIFNOTEXISTSnacos_config/*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci *//*!80016 DEFAULT ENCRYPTIONN */;USEnacos_config;/******************************************//* 表名称 config_info *//******************************************/CREATETABLEconfig_info(idbigint(20)NOTNULLAUTO_INCREMENTCOMMENTid,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)DEFAULTNULLCOMMENTgroup_id,contentlongtextNOTNULLCOMMENTcontent,md5varchar(32)DEFAULTNULLCOMMENTmd5,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,src_usertextCOMMENTsource user,src_ipvarchar(50)DEFAULTNULLCOMMENTsource ip,app_namevarchar(128)DEFAULTNULLCOMMENTapp_name,tenant_idvarchar(128)DEFAULTCOMMENT租户字段,c_descvarchar(256)DEFAULTNULLCOMMENTconfiguration description,c_usevarchar(64)DEFAULTNULLCOMMENTconfiguration usage,effectvarchar(64)DEFAULTNULLCOMMENT配置生效的描述,typevarchar(64)DEFAULTNULLCOMMENT配置的类型,c_schematextCOMMENT配置的模式,encrypted_data_keyvarchar(1024)NOTNULLDEFAULTCOMMENT密钥,PRIMARYKEY(id),UNIQUEKEYuk_configinfo_datagrouptenant(data_id,group_id,tenant_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENTconfig_info;/******************************************//* 表名称 config_info_aggr *//******************************************/CREATETABLEconfig_info_aggr(idbigint(20)NOTNULLAUTO_INCREMENTCOMMENTid,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)NOTNULLCOMMENTgroup_id,datum_idvarchar(255)NOTNULLCOMMENTdatum_id,contentlongtextNOTNULLCOMMENT内容,gmt_modifieddatetimeNOTNULLCOMMENT修改时间,app_namevarchar(128)DEFAULTNULLCOMMENTapp_name,tenant_idvarchar(128)DEFAULTCOMMENT租户字段,PRIMARYKEY(id),UNIQUEKEYuk_configinfoaggr_datagrouptenantdatum(data_id,group_id,tenant_id,datum_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENT增加租户字段;/******************************************//* 表名称 config_info_beta *//******************************************/CREATETABLEconfig_info_beta(idbigint(20)NOTNULLAUTO_INCREMENTCOMMENTid,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)NOTNULLCOMMENTgroup_id,app_namevarchar(128)DEFAULTNULLCOMMENTapp_name,contentlongtextNOTNULLCOMMENTcontent,beta_ipsvarchar(1024)DEFAULTNULLCOMMENTbetaIps,md5varchar(32)DEFAULTNULLCOMMENTmd5,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,src_usertextCOMMENTsource user,src_ipvarchar(50)DEFAULTNULLCOMMENTsource ip,tenant_idvarchar(128)DEFAULTCOMMENT租户字段,encrypted_data_keyvarchar(1024)NOTNULLDEFAULTCOMMENT密钥,PRIMARYKEY(id),UNIQUEKEYuk_configinfobeta_datagrouptenant(data_id,group_id,tenant_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENTconfig_info_beta;/******************************************//* 表名称 config_info_tag *//******************************************/CREATETABLEconfig_info_tag(idbigint(20)NOTNULLAUTO_INCREMENTCOMMENTid,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)NOTNULLCOMMENTgroup_id,tenant_idvarchar(128)DEFAULTCOMMENTtenant_id,tag_idvarchar(128)NOTNULLCOMMENTtag_id,app_namevarchar(128)DEFAULTNULLCOMMENTapp_name,contentlongtextNOTNULLCOMMENTcontent,md5varchar(32)DEFAULTNULLCOMMENTmd5,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,src_usertextCOMMENTsource user,src_ipvarchar(50)DEFAULTNULLCOMMENTsource ip,PRIMARYKEY(id),UNIQUEKEYuk_configinfotag_datagrouptenanttag(data_id,group_id,tenant_id,tag_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENTconfig_info_tag;/******************************************//* 表名称 config_tags_relation *//******************************************/CREATETABLEconfig_tags_relation(idbigint(20)NOTNULLCOMMENTid,tag_namevarchar(128)NOTNULLCOMMENTtag_name,tag_typevarchar(64)DEFAULTNULLCOMMENTtag_type,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)NOTNULLCOMMENTgroup_id,tenant_idvarchar(128)DEFAULTCOMMENTtenant_id,nidbigint(20)NOTNULLAUTO_INCREMENTCOMMENTnid, 自增长标识,PRIMARYKEY(nid),UNIQUEKEYuk_configtagrelation_configidtag(id,tag_name,tag_type),KEYidx_tenant_id(tenant_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENTconfig_tag_relation;/******************************************//* 表名称 group_capacity *//******************************************/CREATETABLEgroup_capacity(idbigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT主键ID,group_idvarchar(128)NOTNULLDEFAULTCOMMENTGroup ID空字符表示整个集群,quotaint(10)unsignedNOTNULLDEFAULT0COMMENT配额0表示使用默认值,usageint(10)unsignedNOTNULLDEFAULT0COMMENT使用量,max_sizeint(10)unsignedNOTNULLDEFAULT0COMMENT单个配置大小上限单位为字节0表示使用默认值,max_aggr_countint(10)unsignedNOTNULLDEFAULT0COMMENT聚合子配置最大个数0表示使用默认值,max_aggr_sizeint(10)unsignedNOTNULLDEFAULT0COMMENT单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_countint(10)unsignedNOTNULLDEFAULT0COMMENT最大变更历史数量,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,PRIMARYKEY(id),UNIQUEKEYuk_group_id(group_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENT集群、各Group容量信息表;/******************************************//* 表名称 his_config_info *//******************************************/CREATETABLEhis_config_info(idbigint(20)unsignedNOTNULLCOMMENTid,nidbigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENTnid, 自增标识,data_idvarchar(255)NOTNULLCOMMENTdata_id,group_idvarchar(128)NOTNULLCOMMENTgroup_id,app_namevarchar(128)DEFAULTNULLCOMMENTapp_name,contentlongtextNOTNULLCOMMENTcontent,md5varchar(32)DEFAULTNULLCOMMENTmd5,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,src_usertextCOMMENTsource user,src_ipvarchar(50)DEFAULTNULLCOMMENTsource ip,op_typechar(10)DEFAULTNULLCOMMENToperation type,tenant_idvarchar(128)DEFAULTCOMMENT租户字段,encrypted_data_keyvarchar(1024)NOTNULLDEFAULTCOMMENT密钥,PRIMARYKEY(nid),KEYidx_gmt_create(gmt_create),KEYidx_gmt_modified(gmt_modified),KEYidx_did(data_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENT多租户改造;/******************************************//* 表名称 tenant_capacity *//******************************************/CREATETABLEtenant_capacity(idbigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT主键ID,tenant_idvarchar(128)NOTNULLDEFAULTCOMMENTTenant ID,quotaint(10)unsignedNOTNULLDEFAULT0COMMENT配额0表示使用默认值,usageint(10)unsignedNOTNULLDEFAULT0COMMENT使用量,max_sizeint(10)unsignedNOTNULLDEFAULT0COMMENT单个配置大小上限单位为字节0表示使用默认值,max_aggr_countint(10)unsignedNOTNULLDEFAULT0COMMENT聚合子配置最大个数,max_aggr_sizeint(10)unsignedNOTNULLDEFAULT0COMMENT单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_countint(10)unsignedNOTNULLDEFAULT0COMMENT最大变更历史数量,gmt_createdatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,gmt_modifieddatetimeNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT修改时间,PRIMARYKEY(id),UNIQUEKEYuk_tenant_id(tenant_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENT租户容量信息表;CREATETABLEtenant_info(idbigint(20)NOTNULLAUTO_INCREMENTCOMMENTid,kpvarchar(128)NOTNULLCOMMENTkp,tenant_idvarchar(128)defaultCOMMENTtenant_id,tenant_namevarchar(128)defaultCOMMENTtenant_name,tenant_descvarchar(256)DEFAULTNULLCOMMENTtenant_desc,create_sourcevarchar(32)DEFAULTNULLCOMMENTcreate_source,gmt_createbigint(20)NOTNULLCOMMENT创建时间,gmt_modifiedbigint(20)NOTNULLCOMMENT修改时间,PRIMARYKEY(id),UNIQUEKEYuk_tenant_info_kptenantid(kp,tenant_id),KEYidx_tenant_id(tenant_id))ENGINEInnoDBDEFAULTCHARSETutf8COLLATEutf8_binCOMMENTtenant_info;CREATETABLEusers(usernamevarchar(50)NOTNULLPRIMARYKEYCOMMENTusername,passwordvarchar(500)NOTNULLCOMMENTpassword,enabledbooleanNOTNULLCOMMENTenabled);CREATETABLEroles(usernamevarchar(50)NOTNULLCOMMENTusername,rolevarchar(50)NOTNULLCOMMENTrole,UNIQUEINDEXidx_user_role(usernameASC,roleASC)USINGBTREE);CREATETABLEpermissions(rolevarchar(50)NOTNULLCOMMENTrole,resourcevarchar(128)NOTNULLCOMMENTresource,actionvarchar(8)NOTNULLCOMMENTaction,UNIQUEINDEXuk_role_permission(role,resource,action)USINGBTREE);3.2 创建容器3.2.1 docker rundocker network create xxxdocker run -d\--name nacos\--networkxxx\--restartunless-stopped\--health-cmdnc -z localhost 8848\--health-interval3s\--health-timeout5s\--health-retries10\--health-start-period10s\--depends-on mysql:service_healthy\-p8848:8848\-p9848:9848\-p9849:9849\--env-file./Nacos/custom.env\nacos/nacos-server:v2.4.33.2.2 composeversion:3.8services:nacos:image:nacos/nacos-server:v2.4.3container_name:nacosenv_file:./Nacos/custom.envports:-8848:8848-9848:9848-9849:9849depends_on:mysql:condition:service_healthyhealthcheck:test:[CMD,nc,-z,localhost,8848]interval:3stimeout:5sretries:10start_period:10snetworks:-xxxrestart:unless-stoppednetworks:xxx:driver:bridgename:xxx4 Redis4.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── Redis/ # Redis主配置目录 ├── data/ # 数据持久化目录核心存储数据库文件 └── redis.conf # 存放Redis配置redis.conf文件模板# 开启 AOF 持久化 appendonly yes # 设置持久化文件名 appendfilename appendonly.aof # 日志级别 loglevel notice # 数据文件存放位置 dir /data # 设置连接密码 requirepass 1234564.2 创建容器4.2.1 docker rundocker network create xxxdocker run -d\--name redis\-p6379:6379\-v ./Redis/data:/data\-v ./Redis/redis.conf:/usr/local/etc/redis/redis.conf\--restart unless-stopped\--network xxx\redis:7.2\redis-server /usr/local/etc/redis/redis.conf4.2.2 composeversion:3.8services:redis:image:redis:7.2container_name:redisports:-6379:6379volumes:-./Redis/data:/data-./Redis/redis.conf:/usr/local/etc/redis/redis.confcommand:[redis-server,/usr/local/etc/redis/redis.conf]networks:-xxxrestart:unless-stoppednetworks:xxx:driver:bridgename:xxx5 Sentinel5.1 创建容器5.2.1 docker rundocker network create xxxdocker run -d\--name sentinel\-p8858:8858\-p8719:8719\-eSENTINEL_DASHBOARD_USERNAMEsentinel\-eSENTINEL_DASHBOARD_PASSWORDsentinel\-eJAVA_OPTS-Dserver.port8858 -Dcsp.sentinel.dashboard.serverlocalhost:8858 -Dproject.namesentinel-dashboard\--restart unless-stopped\--network xxx\bladex/sentinel-dashboard:1.8.85.2.2 composeversion:3.8services:sentinel:image:bladex/sentinel-dashboard:1.8.8container_name:sentinelports:-8858:8858# 控制台访问端口映射宿主机:容器与原命令一致-8719:8719# 客户端与控制台通信端口必须映射与原命令一致environment:SENTINEL_DASHBOARD_USERNAME:sentinelSENTINEL_DASHBOARD_PASSWORD:sentinelJAVA_OPTS:--Dserver.port8858-Dcsp.sentinel.dashboard.serverlocalhost:8858-Dproject.namesentinel-dashboardnetworks:-xxxrestart:unless-stoppednetworks:xxx:driver:bridgename:xxx6 Seata6.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── Seata/ # Seata主目录 └── resources/ # 资源目录 ├── logback/ # Logback日志框架的配置目录拆分不同输出端的日志配置便于维护 │ ├── console-appender.xml # 控制台日志输出配置定义日志格式、级别、输出到控制台的规则 │ ├── file-appender.xml # 文件日志输出配置(定义日志落地到文件的路径、滚动策略、大小限制等) │ ├── kafka-appender.xml # 日志输出配置(将日志发送到Kafka消息队列 用于日志收集 / 分析) │ └── logstash-appender.xml # 日志输出配置(对接ELK栈 将日志发送到Logstash进行聚合分析) ├── lua/ # 存放 Seata 依赖的 Lua 脚本(主要用于 Redis 分布式锁场景) │ └── redislocker/ # Redis 分布式锁专用目录 │ └── rredislock.lua # Redis 分布式锁的 Lua 脚本(保证锁的加锁 / 解锁操作原子性 避免并发问题) ├── META-INF/ # JAR包/应用的元数据目录 Seata在此存放Spring集成 原生镜像 SPI配置等 │ ├── native-image/ # GraalVM原生镜像配置目录 用于将 Seata 编译为原生可执行文件 提升启动速度 │ │ └── io.seata │ │ └── server # Seata Server 模块的原生镜像配置。 │ │ └── reflect-config.json # 原生镜像反射配置指定需要反射的类避免原生编译后反射失效。 │ │ └── resource-config.json # 原生镜像资源配置指定需要加载的资源文件保证原生编译后资源可访问。 │ ├── services/ # Seata SPI服务发现配置目录定义接口的实现类Seata 自动加载这些配置实现功能扩展。 │ │ └── io.seata.core.rpc.RegisterCheckAuthHandler # 注册中心鉴权处理器配置指定鉴权逻辑的实现类控制服务注册的权限。 │ │ └── io.seata.core.store.db.DataSourceProvider # 数据库数据源提供器配置指定 Seata 存储事务日志的数据源实现支持不同数据库。 │ │ └── io.seata.core.store.DistributedLocker # 分布式锁实现类配置指定分布式锁的实现如 Redis / 数据库锁。 │ │ └── io.seata.server.coordinator.AbstractCore # 事务协调器核心实现配置Seata 事务协调的核心逻辑扩展点。 │ │ └── io.seata.server.lock.LockManager # 锁管理器配置指定全局锁的管理实现控制事务锁的获取 / 释放。 │ │ └── io.seata.server.session.SessionManager # 会话管理器配置管理 Seata 事务会话控制事务状态的存储 / 恢复。 │ ├── spring.factories # Spring Boot 自动配置文件Seata 集成 Spring 时指定自动配置类实现开箱即用。 │ └── spring-configuration-metadata.json # Spring 配置元数据文件给 IDE 提供配置提示如 application.yml 中 Seata 配置的注解 / 说明。 ├── application.example.yml # Seata 应用配置示例文件包含默认配置模板可复制为 application.yml 后修改避免直接改示例。 ├── application.yml # Seata 核心应用配置文件全局配置如服务端口、注册中心类型、事务存储模式、数据库连接等。 ├── banner.txt # Seata 启动时打印到控制台的 Logo / 标语可自定义修改。 ├── logback-spring.xml # Logback 核心配置文件整合 logback/ 目录下的细分配置指定默认日志级别、根配置等。 ├── README.md # Seata 英文说明文档包含快速启动、核心功能、配置说明等。 └── README-zh.md # Seata 中文说明文档面向中文用户的使用 / 配置指南。tc.sqlDROPDATABASEIFEXISTSseata;CREATEDATABASEIFNOTEXISTSseata/*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci *//*!80016 DEFAULT ENCRYPTIONN */;USEseata;-- -------------------------------- The script used when storeMode is db ---------------------------------- the table to store GlobalSession dataCREATETABLEIFNOTEXISTSglobal_table(xidVARCHAR(128)NOTNULL,transaction_idBIGINT,statusTINYINTNOTNULL,application_idVARCHAR(32),transaction_service_groupVARCHAR(32),transaction_nameVARCHAR(128),timeoutINT,begin_timeBIGINT,application_dataVARCHAR(2000),gmt_createDATETIME,gmt_modifiedDATETIME,PRIMARYKEY(xid),KEYidx_status_gmt_modified(status,gmt_modified),KEYidx_transaction_id(transaction_id))ENGINEInnoDBDEFAULTCHARSETutf8mb4;-- the table to store BranchSession dataCREATETABLEIFNOTEXISTSbranch_table(branch_idBIGINTNOTNULL,xidVARCHAR(128)NOTNULL,transaction_idBIGINT,resource_group_idVARCHAR(32),resource_idVARCHAR(256),branch_typeVARCHAR(8),statusTINYINT,client_idVARCHAR(64),application_dataVARCHAR(2000),gmt_createDATETIME(6),gmt_modifiedDATETIME(6),PRIMARYKEY(branch_id),KEYidx_xid(xid))ENGINEInnoDBDEFAULTCHARSETutf8mb4;-- the table to store lock dataCREATETABLEIFNOTEXISTSlock_table(row_keyVARCHAR(128)NOTNULL,xidVARCHAR(128),transaction_idBIGINT,branch_idBIGINTNOTNULL,resource_idVARCHAR(256),table_nameVARCHAR(32),pkVARCHAR(36),statusTINYINTNOTNULLDEFAULT0COMMENT0:locked ,1:rollbacking,gmt_createDATETIME,gmt_modifiedDATETIME,PRIMARYKEY(row_key),KEYidx_status(status),KEYidx_branch_id(branch_id),KEYidx_xid(xid))ENGINEInnoDBDEFAULTCHARSETutf8mb4;CREATETABLEIFNOTEXISTSdistributed_lock(lock_keyCHAR(20)NOTNULL,lock_valueVARCHAR(20)NOTNULL,expireBIGINT,primarykey(lock_key))ENGINEInnoDBDEFAULTCHARSETutf8mb4;INSERTINTOdistributed_lock(lock_key,lock_value,expire)VALUES(AsyncCommitting, ,0);INSERTINTOdistributed_lock(lock_key,lock_value,expire)VALUES(RetryCommitting, ,0);INSERTINTOdistributed_lock(lock_key,lock_value,expire)VALUES(RetryRollbacking, ,0);INSERTINTOdistributed_lock(lock_key,lock_value,expire)VALUES(TxTimeoutCheck, ,0);at.sql-- for AT mode you must to init this sql for you business database. the seata server not need it.CREATETABLEIFNOTEXISTSundo_log(branch_idBIGINTNOTNULLCOMMENTbranch transaction id,xidVARCHAR(128)NOTNULLCOMMENTglobal transaction id,contextVARCHAR(128)NOTNULLCOMMENTundo_log context,such as serialization,rollback_infoLONGBLOBNOTNULLCOMMENTrollback info,log_statusINT(11)NOTNULLCOMMENT0:normal status,1:defense status,log_createdDATETIME(6)NOTNULLCOMMENTcreate datetime,log_modifiedDATETIME(6)NOTNULLCOMMENTmodify datetime,UNIQUEKEYux_undo_log(xid,branch_id))ENGINEInnoDBAUTO_INCREMENT1DEFAULTCHARSETutf8mb4COMMENTAT transaction mode undo table;ALTERTABLEundo_logADDINDEXix_log_created(log_created);6.2 创建容器6.2.1 docker rundocker network create xxx这两行健康检查可加可不加加上最好–depends-on mysql:service_healthy \–depends-on nacos:service_healthy \docker run -d\--name seata\--privilegedtrue\--restartunless-stopped\--networkxxx\--network-aliasseata-server\-p8099:8099\-p7099:7099\-eSEATA_IP192.168.18.168\-eSEATA_CONFIG_NAMEfile:/seata-server/config/application\-eSERVER_PORT7099\-eSEATA_SERVICE_PORT8099\-v ./Seata/resources:/seata-server/config\--depends-on mysql:service_healthy\--depends-on nacos:service_healthy\seataio/seata-server:1.7.1\/seata-server/bin/seata-server.sh6.2.2 composeversion:3.8services:seata-server:container_name:seataimage:seataio/seata-server:1.7.1ports:-8099:8099-7099:7099environment:-SEATA_IP192.168.18.168-SEATA_CONFIG_NAMEfile:/seata-server/config/application-SERVER_PORT7099-SEATA_SERVICE_PORT8099volumes:-./Seata/resources:/seata-server/configprivileged:truedepends_on:mysql:condition:service_healthynacos:condition:service_healthynetworks:-xxxrestart:unless-stoppedcommand:[/seata-server/bin/seata-server.sh]networks:xxx:driver:bridgename:xxx6.2.3 拓展基于nacos存储的配置如下在nacos中添加seataServer.properties配置如下# 保留原有分组兼容历史 新增客户端用的hmall分组 service.vgroupMapping.my_test_tx_groupdefault service.vgroupMapping.hmalldefault # 核心grouplist指向Seata RPC端口809970991000 service.default.grouplist192.168.18.168:8099 # 其余默认配置保留 client.rm.asyncCommitBufferLimit10000 client.rm.lock.retryInterval10 client.rm.lock.retryTimes30 client.rm.lock.retryPolicyBranchRollbackOnConflicttrue client.rm.reportRetryCount5 client.rm.tableMetaCheckEnablefalse client.rm.sqlParserTypedruid client.rm.reportSuccessEnablefalse client.tm.commitRetryCount5 client.tm.rollbackRetryCount5 server.undo.logSaveDays7 server.undo.logDeletePeriod86400000 serializerjackson metrics.enabledfalse metrics.registryTypecompact metrics.exporterListprometheus metrics.exporterPrometheusPort9898在微服务项目中的bootstrap中引入shared-seata.yaml即可使用seata在nacos中添加shared-seata.yaml配置如下seata:registry:type:nacosnacos:server-addr:192.168.18.168:8848namespace:group:DEFAULT_GROUPapplication:seata-serverusername:nacospassword:nacostx-service-group:hmall# 事务组名称和Seata Server侧一致service:vgroup-mapping:hmall:default# 事务组映射TC集群和Seata Server侧一致# 新增数据源代理配置必须否则无法拦截SQLdata-source-proxy-mode:AT# Seata默认AT模式# 新增undo日志配置AT模式必需undo:log-table:undo_log# 业务库中需要创建此表only-care-update-columns:true# 仅记录更新的字段# 可选客户端超时配置client:rm:lock:retry-times:30# 锁重试次数retry-interval:10# 锁重试间隔async-commit-buffer-limit:10000# 异步提交缓冲区大小tm:commit-retry-count:5# 提交重试次数rollback-retry-count:5# 回滚重试次数以上我是使用的1.7.1版本像使用1.5.2版本的话。都不用在nacos中添加seataServer.properties。直接添加shared-seata.yaml让项目就可以了不引用的话就直接写在项目里的配置文件就行seata:registry:# TC服务注册中心的配置微服务根据这些信息去注册中心获取tc服务地址type:nacos# 注册中心类型 nacosnacos:server-addr:192.168.18.168:8848# nacos地址namespace:# namespace默认为空group:DEFAULT_GROUP# 分组默认是DEFAULT_GROUPapplication:seata-server# seata服务名称username:nacospassword:nacostx-service-group:hmall# 事务组名称service:vgroup-mapping:# 事务组与tc集群的映射关系hmall:default6.2.4 application.yml注释版# 版权声明Seata 官方开源协议声明无需修改# 遵循 Apache License 2.0 协议具体权益可查阅 http://www.apache.org/licenses/LICENSE-2.0Copyright 1999-2019 Seata.io Group. Licensed under the Apache License,Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,software distributed under the License is distributed on an AS IS BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied. See the License for the specific language governing permissions and limitations under the License.# Spring Boot 服务器基础配置 server:port:7091# Seata Server 的 HTTP 端口默认 7091用于接收管理请求、健康检查等# 注意RPC 服务端口默认是该端口 1000即 8091可通过 seata.server.service-port 自定义# Spring 应用基础配置 spring:application:name:seata-server# 应用名称将作为 Seata Server 在注册中心的服务名核心注册发现依赖# 日志配置 logging:config:classpath:logback-spring.xml# 日志配置文件路径默认使用 Seata 内置的 logback 配置file:path:${log.home:${user.home}/logs/seata}# 日志存储根路径优先读取 log.home 环境变量默认用户目录下的 logs/seataextend:# 扩展日志输出器可选用于日志收集logstash-appender:# Logstash 日志输出器需额外依赖 logstash 相关包destination:127.0.0.1:4560# Logstash 服务地址IP:端口kafka-appender:# Kafka 日志输出器需额外依赖 kafka 相关包bootstrap-servers:127.0.0.1:9092# Kafka 集群地址topic:logback_to_logstash# 日志发送到的 Kafka 主题名# Seata 核心配置重点seata:# -------------------------- 配置中心配置Seata 自身配置的获取来源--------------------------config:type:file# 配置中心类型支持 file本地文件、nacos、consul、apollo、zk、etcd3# 开发环境用 file 便捷生产环境推荐 nacos/apollo支持动态配置更新# 以下是各配置中心的具体参数仅 type 对应时生效其余不生效nacos:# 当 typenacos 时启用server-addr:127.0.0.1:8848# Nacos 服务地址namespace:# Nacos 命名空间默认 public需提前创建group:SEATA_GROUP# 配置分组默认 SEATA_GROUP需与 Nacos 中配置一致username:# Nacos 登录用户名Nacos 开启认证时必填password:# Nacos 登录密码Nacos 开启认证时必填context-path:# Nacos 上下文路径默认空Nacos 集群部署时可能需要配置如 /nacos# access-key: # MSE Nacos 专属访问密钥与 username/password 互斥开启 MSE 认证时使用# secret-key: # MSE Nacos 专属密钥data-id:seataServer.properties# Nacos 中存储 Seata 配置的 DataID配置文件名consul:# 当 typeconsul 时启用server-addr:127.0.0.1:8500# Consul 服务地址acl-token:# Consul ACL 令牌Consul 开启 ACL 时必填key:seata.properties# Consul 中存储配置的 Keyapollo:# 当 typeapollo 时启用appId:seata-server# Apollo 应用 IDapollo-meta:http://192.168.1.204:8801# Apollo Meta Server 地址apollo-config-service:http://192.168.1.204:8080# Apollo Config Service 地址namespace:application# 配置命名空间apollo-access-key-secret:# Apollo 访问密钥开启认证时必填cluster:seata# 集群名zk:# 当 typezk 时启用server-addr:127.0.0.1:2181# ZooKeeper 服务地址集群用逗号分隔session-timeout:6000# 会话超时时间msconnect-timeout:2000# 连接超时时间msusername:# ZooKeeper 登录用户名ZooKeeper 开启 SASL 认证时必填password:# ZooKeeper 登录密码ZooKeeper 开启 SASL 认证时必填node-path:/seata/seata.properties# ZooKeeper 中存储配置的节点路径etcd3:# 当 typeetcd3 时启用server-addr:http://localhost:2379# etcd3 服务地址key:seata.properties# etcd3 中存储配置的 Key# -------------------------- 注册中心配置Seata Server 注册到哪里供客户端发现--------------------------registry:type:file# 注册中心类型支持 file本地文件仅单机可用、nacos、eureka、redis、zk、consul、etcd3、sofa# 生产环境必须用 nacos/zk 等集群化注册中心支持高可用preferred-networks:30.240.*# 优先使用的网卡网段多网卡环境下指定避免客户端连接错误IP# 以下是各注册中心的具体参数仅 type 对应时生效nacos:# 当 typenacos 时启用application:seata-server# 注册到 Nacos 的服务名需与客户端配置的服务名一致server-addr:127.0.0.1:8848# Nacos 服务地址group:SEATA_GROUP# 服务分组需与客户端配置一致namespace:# Nacos 命名空间需与配置中心一致cluster:default# 集群名默认 default可自定义如 seata-clusterusername:# Nacos 登录用户名开启认证时必填password:# Nacos 登录密码开启认证时必填context-path:# Nacos 上下文路径# access-key: # MSE Nacos 专属访问密钥# secret-key: # MSE Nacos 专属密钥eureka:# 当 typeeureka 时启用service-url:http://localhost:8761/eureka# Eureka 服务地址application:default# 注册到 Eureka 的应用名weight:1# 服务权重redis:# 当 typeredis 时启用server-addr:localhost:6379# Redis 服务地址db:0# Redis 数据库索引password:# Redis 密码开启认证时必填cluster:default# 集群名timeout:0# 连接超时时间ms0 表示无超时zk:# 当 typezk 时启用cluster:default# 集群名server-addr:127.0.0.1:2181# ZooKeeper 服务地址session-timeout:6000# 会话超时时间connect-timeout:2000# 连接超时时间username:# ZooKeeper 登录用户名开启认证时必填password:# ZooKeeper 登录密码开启认证时必填consul:# 当 typeconsul 时启用cluster:default# 集群名server-addr:127.0.0.1:8500# Consul 服务地址acl-token:# Consul ACL 令牌开启 ACL 时必填etcd3:# 当 typeetcd3 时启用cluster:default# 集群名server-addr:http://localhost:2379# etcd3 服务地址sofa:# 当 typesofa 时启用蚂蚁金服 SOFA 注册中心server-addr:127.0.0.1:9603# SOFA 服务地址application:default# 应用名region:DEFAULT_ZONE# 区域datacenter:DefaultDataCenter# 数据中心cluster:default# 集群名group:SEATA_GROUP# 分组address-wait-time:3000# 地址等待时间ms# -------------------------- Seata Server 核心运行参数 --------------------------server:service-port:8091# RPC 服务端口客户端与 Server 通信的核心端口# 默认值${server.port} 1000即 709110008091可自定义max-commit-retry-timeout:-1# 全局事务提交重试超时时间ms-1 表示无限重试直到成功或事务过期max-rollback-retry-timeout:-1# 全局事务回滚重试超时时间ms-1 表示无限重试rollback-retry-timeout-unlock-enable:false# 回滚重试超时后是否解锁资源默认 false避免误解锁enable-check-auth:true# 是否启用权限校验默认 true客户端需携带 token 才能连接enable-parallel-request-handle:true# 是否启用并行请求处理默认 true提升并发性能retry-dead-threshold:130000# 重试死亡阈值ms超过该时间的事务不再重试xaer-nota-retry-timeout:60000# XA 模式下 NOTA未准备好状态的重试超时时间ms# 事务恢复相关配置处理悬挂、超时事务recovery:committing-retry-period:1000# 提交中事务的重试周期msasync-committing-retry-period:1000# 异步提交事务的重试周期msrollbacking-retry-period:1000# 回滚中事务的重试周期mstimeout-retry-period:1000# 超时事务的重试周期ms# Undo 日志相关配置用于 AT 模式的事务回滚undo:log-save-days:7# Undo 日志保存天数默认 7 天过期自动删除log-delete-period:86400000# Undo 日志删除周期ms默认 24 小时86400000ms# 会话相关配置管理全局事务、分支事务会话session:branch-async-queue-size:5000# 分支会话异步删除队列大小默认 5000控制异步删除并发enable-branch-async-remove:false# 是否启用分支会话异步删除默认 false同步删除更安全高并发场景可开启提升性能# -------------------------- 存储配置事务会话、锁、Undo 日志的存储方式--------------------------store:mode:file# 存储模式支持 file本地文件默认、db数据库、redisRedis# 开发/测试用 file 便捷生产环境推荐 db稳定性高或 redis性能高session:mode:file# 会话存储模式默认与 store.mode 一致可单独指定lock:mode:file# 锁存储模式默认与 store.mode 一致可单独指定# 本地文件存储配置当 modefile 时生效file:dir:sessionStore# 存储目录默认在 Seata 工作目录下的 sessionStore 文件夹max-branch-session-size:16384# 最大分支会话数默认 16384超出后会清理过期会话max-global-session-size:512# 最大全局会话数默认 512file-write-buffer-cache-size:16384# 文件写缓存大小默认 16384 字节session-reload-read-size:100# 重启时读取会话的批量大小默认 100flush-disk-mode:async# 刷盘模式async异步性能高、sync同步数据安全# 数据库存储配置当 modedb 时生效需提前创建数据库和表db:datasource:druid# 数据源类型支持 druid默认、hikaridb-type:mysql# 数据库类型支持 mysql、oracle、postgresql 等driver-class-name:com.mysql.jdbc.Driver# 数据库驱动类名MySQL 5.x 用该类MySQL 8.x 需改为 com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatementstrue# 数据库连接地址seata 为数据库名需提前创建user:mysql# 数据库用户名password:mysql# 数据库密码min-conn:10# 最小连接数默认 10max-conn:100# 最大连接数默认 100global-table:global_table# 全局事务表名默认需与数据库中表名一致branch-table:branch_table# 分支事务表名默认lock-table:lock_table# 锁表名默认distributed-lock-table:distributed_lock# 分布式锁表名默认用于数据库存储的并发控制query-limit:1000# 查询分页大小默认 1000max-wait:5000# 数据库连接最大等待时间ms默认 5000# Redis 存储配置当 moderedis 时生效redis:mode:single# Redis 模式single单机、sentinel哨兵、cluster集群database:0# Redis 数据库索引默认 0min-conn:10# 最小连接数max-conn:100# 最大连接数password:# Redis 密码开启认证时必填max-total:100# 最大连接池大小默认 100query-limit:1000# 查询分页大小默认 1000single:# 单机模式配置host:127.0.0.1# Redis 主机地址port:6379# Redis 端口sentinel:# 哨兵模式配置modesentinel 时生效master-name:# 哨兵主节点名称sentinel-hosts:# 哨兵节点地址逗号分隔如 127.0.0.1:26379,127.0.0.1:26380# -------------------------- 监控指标配置Prometheus 监控--------------------------metrics:enabled:false# 是否启用监控指标默认 false生产环境可开启registry-type:compact# 指标注册类型compact默认轻量级、hierarchical层级式exporter-list:prometheus# 指标暴露方式支持 prometheus默认、jmx 等exporter-prometheus-port:9898# Prometheus 暴露端口默认 9898客户端通过该端口拉取指标# -------------------------- 传输层配置Netty 通信相关--------------------------transport:rpc-tc-request-timeout:15000# RPC 请求超时时间ms默认 15000避免长时间阻塞enable-tc-server-batch-send-response:false# TC 服务是否批量发送响应默认 false高并发场景可开启提升性能shutdown:wait:3# 服务关闭时的等待时间s默认 3确保未完成的请求正常处理thread-factory:# Netty 线程池配置boss-thread-prefix:NettyBoss# Boss 线程名前缀用于接收客户端连接worker-thread-prefix:NettyServerNIOWorker# Worker 线程名前缀用于处理 IO 读写boss-thread-size:1# Boss 线程数默认 1无需修改Netty 推荐配置7 RabbitMQ7.1 挂载目录结构/root/ ├── docker-compose.yml # docker-compose.yml 所在的根目录 └── RabbitMQ/ # RabbitMQ主配置目录 ├── config/ # 配置文件目录 │ ├── conf.d/ │ │ └── enabled_plugins │ └── enabled_plugins ├── data/ # 数据持久化目录核心存储队列、消息等数据 ├── logs/ # 日志目录存储RabbitMQ运行日志 └── plugins # 自定义插件目录可选如需额外插件常用配置文件模板# 监听所有IP listeners.tcp.default 5672 # 最大连接数 tcp_listen_options.backlog 1024 # 日志级别 log.level info # 开启镜像队列高可用 queue_master_locator min-masters # 内存阈值超过则分页 vm_memory_high_watermark.relative 0.7 # 磁盘阈值低于10%时拒绝写入避免磁盘满 disk_free_limit.relative 0.1配置项默认值是否必须自定义适用场景listeners.tcp.default 56725672监听所有 IP不需要默认已监听所有网卡的 5672 端口除非你要修改端口 / 限制 IPtcp_listen_options.backlog 1024128Linux/ 2048Windows可选高并发场景如每秒上千连接需调大普通场景默认值足够log.level infoinfo不需要默认就是 info 级别除非你要调试debug或减少日志warn/errorqueue_master_locator min-mastersclient-local仅集群需要单节点部署无意义集群场景需配置优化队列主节点分布提升高可用vm_memory_high_watermark.relative 0.70.440%建议配置默认阈值过低仅用 40% 内存生产环境可调至 60%-70%充分利用服务器内存以下场景必须自定义配置文件否则无法满足需求修改默认端口如不想用 5672需配置 listeners.tcp.default 5673限制访问 IP如仅允许内网访问配置 listeners.tcp.default 192.168.1.100:5672调整资源限制如服务器内存 32G需调大内存阈值避免频繁分页导致性能下降集群 / 高可用配置如镜像队列、节点通信、权限控制SSL 加密连接生产环境需配置 listeners.ssl.default 5671 及证书路径自定义日志策略如日志输出到文件、按大小切割、指定日志存储路径。7.2 创建容器7.2.1 先复制默认配置到本地启动临时 RabbitMQ 容器仅用于拷贝文件docker run -d --name rabbitmq rabbitmq:3.12.14-management步骤 1拷贝容器内配置文件到宿主机 /root/RabbitMQ/config# 宿主机root执行创建 config 目录确保目录存在避免拷贝失败mkdir-p /root/RabbitMQ/config# 宿主机执行从容器拷贝配置文件到宿主机 /root/RabbitMQ/configdockercprabbitmq:/etc/rabbitmq/. /root/RabbitMQ/config/# 验证拷贝结果关键确认文件已到本地ls-l /root/RabbitMQ/config/步骤 2拷贝容器内插件文件到宿主机 /root/RabbitMQ/plugins# 宿主机root执行创建 plugins 目录mkdir-p /root/RabbitMQ/plugins# 宿主机执行从容器拷贝所有插件到宿主机 /root/RabbitMQ/pluginsdockercprabbitmq:/opt/rabbitmq/plugins/. /root/RabbitMQ/plugins/# 验证拷贝结果核心插件存在即成功ls-l /root/RabbitMQ/plugins/|greprabbitmq_management步骤 3验证拷贝完整性必做# 1. 检查配置子目录确保 10-defaults.conf 存在ls-l /root/RabbitMQ/config/conf.d/# 必须看到-rw-r--r-- 1 root root xxx Dec 10 xx:xx 10-defaults.conf# 2. 检查延迟队列插件3.12 版本内置ls-l /root/RabbitMQ/plugins/|grepdelayed_message# 预期输出-rw-r--r-- 1 root root xxx Dec 10 xx:xx rabbitmq_delayed_message_exchange.ez步骤 4清理临时容器拷贝完成后删除# 宿主机执行停止并删除临时容器docker stop rabbitmqdockerrmrabbitmq# 验证容器已删除dockerps-a|greprabbitmq# 无输出即成功7.2.2 docker rundocker network create xxxdocker run -d\--name rabbitmq\-p5672:5672\# AMQP协议端口业务连接-p15672:15672\# 管理界面端口-p25672:25672\# 集群通信端口可选-eRABBITMQ_DEFAULT_USERadmin\# 默认用户名-eRABBITMQ_DEFAULT_PASS123456\# 默认密码--hostname mq\-v ./RabbitMQ/config:/etc/rabbitmq\# 配置文件挂载-v ./RabbitMQ/data:/var/lib/rabbitmq\# 数据挂载-v ./RabbitMQ/logs:/var/log/rabbitmq\# 日志挂载-v ./RabbitMQ/plugins:/opt/rabbitmq/plugins\# 插件挂载--restartunless-stopped\--networkxxx\rabbitmq:3.12.14-management# 带管理界面的镜像必选否则无15672端口7.2.3 composeversion:3.8services:rabbitmq:container_name:rabbitmqimage:rabbitmq:3.12.14-managementhostname:mqports:-5672:5672# AMQP协议端口业务连接-15672:15672# 管理界面端口-25672:25672# 集群通信端口可选environment:-RABBITMQ_DEFAULT_USERadmin-RABBITMQ_DEFAULT_PASS123456volumes:-./RabbitMQ/config:/etc/rabbitmq-./RabbitMQ/data:/var/lib/rabbitmq-./RabbitMQ/logs:/var/log/rabbitmq-./RabbitMQ/plugins:/opt/rabbitmq/pluginsrestart:unless-stoppednetworks:-xxxnetworks:xxx:driver:bridgename:xxx

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询