老玩家的多机部署经验谈
发布时间:2026-02-20 11:02       
更新时间:2026-02-20 17:04
管过十几台服务器的人,多半吃过没有命名规范的亏:半夜告警响了,翻半天才知道是哪台机器、跑的什么业务。多机部署拼的不是手速,是规矩。
命名规范先行
机器一多,名字就是文档。推荐"业务-环境-角色-序号"的格式,例如 shop-prod-web01、shop-prod-db01、crm-test-api02。环境词统一用 prod、test、dev,不要 prod 和 production 混着写。名字定下来就不改,改名的隐性成本比想象中高。
文档跟着机器走
每台机器的 IP、配置、用途、开放端口、负责人,写进一个 markdown 文件放进代码仓库,变更时顺手更新。别嫌麻烦,交接或者休假的时候,这份文件能救命。至少要有一列记录系统版本,CentOS 7 和 Ubuntu 22.04 的命令差异不小。最小字段清单:内网 IP、公网 IP、系统版本、配置规格、承载业务、端口列表、到期时间。到期时间尤其重要,多机环境下每年都有人栽在忘了哪台快到期上。
自动化脚本替代重复劳动
三台以上的机器,逐台登录改配置就该淘汰了。批量查看状态用循环加 ssh 就够:
for h in $(cat hosts.txt); do ssh $h 'systemctl status nginx | head -3'; done
再进一步是把初始化写成脚本:装软件、放行端口、下发密钥一气呵成,一台新机从开机到可用控制在十分钟内。批量分发文件同理:for h in $(cat hosts.txt); do scp app.conf $h:/etc/app/; done,一条命令推全部节点。SSH 配置文件也值得做,把每台机器写进 ~/.ssh/config 起好别名,以后 ssh shop-prod-db01 直达,不用记 IP。日志也建议集中看:机器多起来后逐台翻日志不现实,把各机日志定时汇总到一台机器或接进日志服务,查问题省一半时间。
多机部署还有一层讲究是分散:web 和数据库别挤一台,重要业务跨节点放。有出海需求的部分,单独用香港节点的海外云服务器 HK-2 承载,和国内流量分开走,互不拖累。
规矩立起来,半夜的告警才能三秒定位。多机管理的水平高不高,就看命名和文档做到了哪一步。这些习惯一个月就能养成,越早立规矩,后面加机器的边际成本越低。