- 博客(22)
- 收藏
- 关注
原创 Docker 网络完整梳理:从容器互通到宿主机访问,一篇搞懂 Docker 网络
自定义 bridge 网络比默认 bridge 更适合项目部署。1. 容器之间可以通过容器名访问2. 网络隔离更清晰3. 不同项目可以使用不同网络4. 容器 IP 变化后,服务名仍然可用5. 可以动态把容器加入或移出网络app-net├── mysql└── redismysql:3306redis:6379因为容器重启后 IP 可能变化,但容器名或服务名可以保持不变。
2026-05-29 11:42:09
211
原创 使用 Certbot 为 Nginx 自动申请 HTTPS 证书并配置自动续签
nginx -t先确认域名解析和 80 端口正常再用 Certbot 申请证书申请成功后检查 HTTPS最后测试自动续签即可完成证书申请、Nginx 配置和后续自动续签。
2026-05-25 16:33:05
263
1
原创 一篇搞懂 SSH:用户、密钥、免密登录与服务器互通
👉SSH核心就是:生成密钥 → 放公钥 → 用私钥登录一是尽量不用密码登录,用密钥更安全。二是服务器之间通信,一定要配置免密,否则自动化很难做。三是日志、运维、部署场景,SSH 是最核心工具。四是 Windows 用户重点解决私钥权限问题,否则一定报错。
2026-04-21 16:45:15
205
原创 Modbus RTU 和 TCP 调试完整指南
在实际项目中,充电桩与 EMS、网关或调试电脑之间的通信,最常见的两种方式就是 Modbus RTU 和 Modbus TCP。很多人在第一次接触时,往往知道“一个是串口、一个是网口”,但真正到了现场,往往会卡在接线、找参数、找 IP、找从站地址这些具体问题上。这篇文章从工程实战角度出发,系统梳理 Modbus RTU 和 Modbus TCP 的调试方法,并给出实际排查思路。如果设备同时支持 RTU 和 TCP,实际项目里通常优先推荐 TCP,因为后续接 EMS、平台、网关都会更方便。
2026-04-17 11:58:03
116
原创 Django + Nginx + Cloudflare CDN 静态资源缓存最佳实践
app.js 内容变了,但名字没变👉 CDN 不更新✅ 静态资源带 hash✅ HTML 不缓存✅ CDN 不缓存 HTML✅ 静态资源长缓存内容变 → 文件名变 → CDN 自动更新。
2026-04-03 16:51:09
364
原创 Linux 服务器 Git 实战:从处理冲突到实现免密 Pull
在服务器上操作 Git,**“免密配置”是第一生产力,而“Vim 熟练度”**则是基本功。建议大家在配置新环境后,第一时间开启,能省去大量的重复工作。
2026-03-20 14:32:52
248
原创 单节点 Kafka(KRaft,无 Zookeeper)Docker Compose 部署手册(测试/生产双环境)
目标:把原本较重的 Kafka 集群部署,简化为。
2026-03-17 17:02:41
602
原创 自动续签并部署 TLS 证书到多台服务器(Nginx + EMQX)
通过acme.sh证书自动续签自动分发到多台服务器自动重载 Nginx 和 EMQX 服务避免证书过期导致服务中断支持多台服务器同步可扩展到更多服务(如 MQTT、WebSocket)直接使用acme.sh的内置自动检测续签机制对远程服务器使用 SSH key记录每次续签与部署日志,方便排查问题。
2026-03-17 16:00:54
369
原创 A/B 设备状态不一致排查实录:从“看起来没更新”到 binlog 定位“谁把 state 改回 0”
日志证明:A→B 强一致更新在 10:57:43 是成功的binlog 证明:15:28:33 有另外一次写入把 B state 从 7 改成 0下一步:用触发器审计/短期开 general_log 找出写入来源,修复 B 侧覆盖写逻辑只要把“覆盖写 state=0 的源头”处理掉,A 与 B 的状态就能稳定一致。
2026-03-13 17:27:57
317
原创 【实战】海量嵌套 JSON 日志看晕了?手把手教你写个 Python 日志提取工具
作为后端开发,面对动辄几十兆、格式复杂的日志文件,脚本工具化能力是核心竞争力之一。通过 正则表达式提取 + 递归深度搜索,我们能将原本繁琐的“肉眼查日志”转变为高效的“自动化筛选”,极大地解放生产力。
2026-03-12 16:39:36
169
原创 Kafka 分区规划与负载均衡实战指南
分区(Partition)是 Kafka 实现并行处理和负载均衡的核心机制。├── Partition 0 → [消息1, 消息4, 消息7, ...]├── Partition 1 → [消息2, 消息5, 消息8, ...]└── Partition 2 → [消息3, 消息6, 消息9, ...]特点:- 每个分区是一个有序的消息队列- 分区内消息有序,分区间无序- 每个分区可以被不同的消费者消费✅ 推荐:分区数 ≥ 消费者数✅ 推荐:分区数 = 消费者数 * 2(预留扩展空间)
2025-12-03 09:43:36
893
原创 Kafka 消费模式详解:队列 vs 广播
同一个 Group 内:每条消息只被消费一次(队列模式)不同 Group 之间:每条消息都被消费(广播模式)Consumer Group 是关键同一个 Group = 队列模式(每条消息只消费一次)不同 Group = 广播模式(每条消息被所有 Group 消费)灵活性可以同时支持队列和广播根据业务需求灵活配置负载均衡同一个 Group 内自动负载均衡消费者数量 ≤ 分区数量高可用自动故障转移消息持久化。
2025-12-03 09:17:06
987
原创 内网穿透指南:FRP 配置与 Cloudflare Tunnel 使用
内网服务暴露到公网开发调试远程服务多端口、多服务穿透特性FRP公网 IP需要或可 NAT不需要安全性Token + 防火墙Zero Trust + 自动 TLS速度快(几乎直连)稍慢(Cloudflare 节点)配置复杂度简单需要 Cloudflare 帐号 + 配置域名适合场景内网服务映射到云服务器 / CI对外提供安全访问 / Web 服务。
2025-11-19 15:51:28
1386
原创 搭建Jenkins实现远程部署Java程序到云服务器
本文档将指导您在 Ubuntu 24 测试服务器上从零开始安装和配置 Jenkins,用于部署到测试环境和 AWS 生产环境。
2025-11-18 09:35:54
689
原创 在 AWS 上重新创建 Ubuntu 实例并配置多卷挂载
新实例安装比在原实例上修复更安全,尤其是在卷操作过的情况下。系统盘和数据盘分开,方便管理和备份。使用fstab配置自动挂载,避免每次重启都手动挂载。
2025-10-31 15:41:22
312
原创 Ubuntu24.04安装Docker+Compose(完整稳定版)
就是 新版 Compose V2,无需单独安装 Python 版本。在 Ubuntu 24.04 中,Docker 官方要求将密钥放在。Ubuntu 24.04 → 输出。单独安装docker-compose。
2025-10-30 11:35:13
1447
原创 使用CompletableFuture解决记录异步已发送邮件的地址的问题
项目场景:1、由于限额原因,每日只能发送500封邮件(成功率高会提高额度)2、需要发送邮件给3000个email账号3、不能给同一个用户发送同一封邮件内容。
2025-10-22 11:24:54
315
原创 通过http接口调用与设备进行mqtt通讯
有个需求是这样的,需要对自研设备的程序中的文件进行操作,例如查看文件列表、下载文件、上传文件等操作。有点类似于我们在linux系统中的操作,例如ls、rz、sz这些操作。具体的通讯情况是这样。
2025-10-21 14:18:54
452
原创 @ConditionalOnMissingBean导致泛型bean擦除而不加载多类型bean问题处理
项目中需要用到多个生产者和消费者负责不同的职责,因此需要注入不同泛型相同类型的bean,如:MqProducer、MqProducer。
2025-10-16 10:27:40
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅