1.编写 Shell 批量运维脚本替代重复手动命令提升部署效率通过免密 SSH 批量循环脚本 健壮性判断 日志输出实现一键启停全集群服务、一键巡检所有节点状态、自动化运维替代人工免密 SSH 原理管理节点生成公私钥公钥分发到所有节点后续连接无需密码验证脚本才能远程执行命令。前置在任意一台管理节点操作推荐 Nginx 主节点检查本机是否已有密钥:没查询到生成 RSA 公私钥无交互、无密码-t rsa使用 RSA 加密算法-N 密钥不设置密码脚本自动化必须无密码-f指定密钥存放路径验证分发公钥到全部 5 台节点这里只以一台具体举例说明其余几台也需要开机哦注第一次分发需要输入每台机器 root 密码验证免密是否成功不需要输入密码、正常输出主机名 免密搭建成功集群批量启停脚本功能-参数校验不传参、乱传参直接提示用法-循环遍历所有节点-区分服务存在性-带颜色输出日志方便看运维结果-适配 Nginx/Tomcat/MySQL 全服务编写集群服务启停脚本cat /usr/local/bin/cluster_service.sh EOF #!/bin/bash # Cluster node IP list NODE( 192.168.2.10 192.168.2.11 192.168.2.12 192.168.2.13 192.168.2.14 192.168.2.15 ) # Color settings RED\033[0;31m GREEN\033[0;32m NC\033[0m # Check input argument count [ $# -ne 1 ] echo -e ${RED}Error: One argument required${NC}\nUsage: $0 start|stop|restart exit 1 # Run remote tasks for ip in ${NODE[]}; do echo -e ${GREEN}Processing ${ip}${NC} ssh ${ip} systemctl $1 nginx; systemctl $1 tomcat; systemctl $1 mariadb [ $? -eq 0 ] echo -e ${GREEN}${ip} success${NC} || echo -e ${RED}${ip} fail${NC} done echo -e ${GREEN}All tasks done${NC} EOF给脚本添加执行权限检查文件权限是否生效全部重启集群服务单独测试单节点 SSH 连通性xsync.sh 集群文件同步脚本创建脚本赋予执行权限同步单个配置文件会把本机 hostname 文件推送到所有 5 台节点通用远程命令脚本xcall.sh创建脚本授权测试 查看所有节点系统时间 xcall.sh date把两个脚本批量推送到集群全部机器注日常运维常用测试命令# 批量查看所有节点主机名 xcall.sh hostname # 批量检查 Nginx 运行状态 xcall.sh systemctl status nginx # 批量检查防火墙状态 xcall.sh systemctl status firewalld总结脚本一cluster_service.sh专门固化Nginx/Tomcat/MariaDB这三个服务的启停是专项服务管理脚本二xsync.sh负责文件配置批量分发改完配置一键同步所有节点再用脚本一重启服务形成完整运维闭环脚本二备选xcall.sh通用万能批量命令排查问题、批量安装软件都能用。2.接入 PrometheusGrafana 监控体系实现服务器、服务、数据库状态实时监测与异常告警批量部署 node-exporter5 台服务器全部部署master 下载二进制包先确认文件存在解压同步程序至所有节点创建 systemd 服务文件写入内容同步服务文件至全部节点批量重载系统服务、启动、开机自启xcall.sh systemctl daemon-reload xcall.sh systemctl start node-exporter xcall.sh systemctl enable node-exporter xcall.sh systemctl status node-exporter # 批量验证运行状态浏览器访问http://192.168.2.10:9100/metrics出现指标即正常。部署业务专属采集器Nginx-exporter192.168.2.10、192.168.2.11示例Nginx 开启监控状态页,编辑 nginx 主配置在 http 块内添加同步配置并重载 Nginx注意里面的hostname根据真实且正确主机名写可先通过执行hostname进行查看也可以分别进行重载测试状态页同理可得部署 nginx-exporter创建服务文件同步服务文件启动仅两台 Nginx 节点mysqld-exporter192.168.2.14、192.168.2.15 MySQL 主从MySQL 创建监控账号登录 192.168.2.14 执行 SQL下载部署 mysqld-exporter创建数据库认证配置文件同步文件并设置权限注: 除了使用xsync还可以使用单节点逐个scp同步systemd 服务文件同步文件启动仅 mysql 两台节点tomcat-exporter192.168.2.12 centos-app下载 jar 包Tomcat 新增监控配置在文件最顶部添加//Master 节点部署 Prometheus 192.168.2.10安装程序......整套集群功能复盘与故障总结已实现完整能力接入层高可用双 Nginx Keepalived VIP 自动漂移彻底消除网关单点故障应用层负载均衡Nginx 分发流量至多台 Tomcat提高并发承载能力数据层冗余备份MySQL 主从复制binlog 日志实时同步保障数据安全集群自动化运维通过自定义 Shell 脚本实现多节点批量运维大幅降低运维成本部署过程核心踩坑总结Keepalived 虚拟 IP 不漂移防火墙、SELinux 未关闭导致 VRRP 协议拦截MySQL 主从同步失败server-id 重复、binlog 日志异常、从库只读权限未配置Tomcat 无法被负载分发端口监听、进程未彻底关闭、上下文路径配置问题SSH 免密失效.ssh 目录权限过高必须 700 权限私钥 600 权限企业级进阶优化方案项目拓展架构设计本项目在基础集群稳定运行的前提下梳理生产级优化升级方案作为后续迭代方向Prometheus Grafana 全集群监控方案规划对集群全组件监控• 服务器指标CPU、内存、磁盘、网络• 服务指标Nginx QPS、连接数、Tomcat 线程、JVM 状态• 数据库指标MySQL 连接数、慢查询、主从延迟 实现可视化面板展示 异常告警机制。MySQL 读写分离 Redis 缓存优化当前架构仅主从备份后续可引入• MyCat 中间件实现读写分离主库写、从库读• 增加 Redis 热点数据缓存降低数据库压力提升响应速度Docker 容器化改造将 Nginx、Tomcat、MySQL 容器化部署解决环境不一致、部署繁琐问题实现服务快速迁移、快速恢复。K8s 容器编排进阶在容器化基础上后续可接入 K8s 实现自动扩缩容、自愈、滚动更新向生产级集群架构升级。云平台迁移方案将本地虚拟机集群迁移至公有云 ECS替换传统虚拟化架构适配企业云上运维场景。项目整体总结本项目完整搭建 5 节点三层高可用 Web 集群从基础服务部署、高可用架构实现、数据冗余备份到自动化运维脚本开发、故障排错、企业级架构优化完成一套从零基础到企业标准的 Web 运维集群实战项目。通过本次项目熟练掌握了• 高可用架构设计思想• 负载均衡流量分发原理• MySQL 主从复制机制• Linux 批量自动化运维思路• 生产环境集群优化与迭代方案
企业数字化 ERP 产品动态
相关推荐
背单词与词典:欧路、不背单词、Anki 与 mdict Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)
👉关于作者 专注于Android/Unity和各种游戏开发技巧&a… · 2026/9/24 16:38:13
Saddle — 让 AI/MLOps 真正“能落地“的可视化任务流平台 📦 免费下载 🔑 演示账号:assist / assist(内置 73 个真实案例,直接看、直接跑)
一、为什么需要 Saddle? AI 落地从来不是"调一个模型"那么简单。你要做的是:
拉数据 →… · 2026/9/24 16:38:13
C++ 关于继承的知识点讲解 目录
1. 继承的概念及定义
1.1 继承的概念
1.2 继承定义
1.2.1 定义格式
1.2.2 继承基类成员访问方式的变化
1.3 继承类模板
2. 基类和派生类之间的转化
3. 继承中的作用域
3.1 隐藏规则:
3.2 几个关于继承作用域相关的选择题
4. 派生类的默认成员函数
… · 2026/9/24 16:38:06
Yii 2 版本号规约全解析:Semantic Versioning 变体、分支策略与发布节奏 Yii 2 版本号规约全解析:Semantic Versioning 变体、分支策略与发布节奏 【免费下载链接】yii2 Yii 2: The Fast, Secure and Professional PHP Framework 项目地址: https://gitcode.com/gh_mirrors/yi/yii2
Yii 2 框架在长期演进中形成了一套自成一体的版本… · 2026/9/24 17:07:51
Learn Harness Engineering 韩语术语表全解:面向多语种文档的 Harness 术语单一声源设计 【免费下载链接】learn-harness-engineering Harness engineering beginner tutorial, from 0 to 1 项目地址: https://gitcode.com/gh_mirrors/le/learn-harness-engineering 点击查看 免费下载 本文以 Learn Harness Engineering 开源课程仓库中的韩国语术语表&a… · 2026/9/24 17:07:51
为什么选择msgpack4cj:仓颉应用高效紧凑二进制序列化库完全入门指南 为什么选择msgpack4cj:仓颉应用高效紧凑二进制序列化库完全入门指南 【免费下载链接】msgpack4cj msgpack格式二进制序列化库 项目地址: https://gitcode.com/Cangjie-TPC/msgpack4cj
msgpack4cj 是基于 msgpack 序列化协议的仓颉语言实现,为仓颉… · 2026/9/24 17:07:51
Nginx UI Logrotate 配置指南:从参数解读到 crontab 调度原理 后端前端运维MCP 服务 【免费下载链接】nginx-ui Yet another WebUI for Nginx 项目地址: https://gitcode.com/gh_mirrors/ngi/nginx-ui 点击查看 免费下载 导读
本指南围绕 Nginx UI 的 logrotate 配置模块展开,系统讲解 Enabled、CMD、Interval 三个… · 2026/9/24 17:07:44
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44