在一些中小企业中,往往发布一些新的产品,或搭建新的架构环境时,大部分采用一键搭建、部署、安装自动化无人值守服务,节约时间、减少成本、效率高等优势,下面是我下班后花了19个晚上时间写了一个自动化一键部署安装服务脚本,脚本写的不好,望大家多少包涵、指教。
要求:
- 用户客户端通过浏览器访问到 http://www.test.com
- 在客户端设置hosts解析到nginx前端负载均衡、反向代理服务器(proxy/lb),将用户请求轮询到LNMP Web服务器上,并做相对应的响应
- 在两台web服务器上分别部署LNMP环境,数据库为独立机器,并授权远程用户访问;当用户上传图片、附件、头像、视频等,其数据将通过web服务器传到NFS存储器上
- 在两台proxy(lb)机器上配置负载均衡、反向代理,即使机器宕机后备用机器自动接管服务。
- 在备份服务器上实现对所有机器数据定时备份、时间同步、定时清理冗余数据(备份机器删除180天前数据,其他机器删除7天前数据)
- 在代理向后端服务器发送请求信息时,可以识别代理的是哪台机器,同时实现让代理后端的服务器节点获取访问客户端用户的真实IP地址,日志等接收记录真实用户的IP,而不是代理服务器的IP
- .........
一、企业系统架构需求:
注:本图中医省略路由、交换、防火墙等设备,若需要请自行添加或脑补即可。
二、硬件设备及IP规划:
三、服务器工作规划:
四、各机器目录规划:
五、用户规划:
六、自动、手动部署任务清单、标准流程图:
七、脚本样例:
分发机脚本:
mysql、nfs、web、proxy(lb)、backup各机器脚本:
八、测试效果:
首先是脚本介绍及提示,然后是拷贝服务脚本及库文件等到分发机器上,如果中途拷贝文件时丢失或中断,会给出相应的提示以便排查处理。
接着是检测本机防火墙状态,默认关闭,然后再收集IP地址。
提示用户若输入IP或其他错误,可按CTRL+C组合键退出可重新执行主脚本,若没问题,直接回车即可。
搭建yum仓库,通过Python_Simp1eHTTPServer模块实现yum源共享
pssh服务安装,用于批量分发文件,多线程执行指令
以上为分发机系统初始化准备,以下为各服务一键安装:
一键安装mysql服务
一键安装proxy(lb)负载均衡、反向代理服务:
一键安装web服务(nginx/php/blog):
客户端通过浏览器访问:www.test.com
一键安装NFS存储服务:
客户端插入一章图片检测是否传到nfs存储器上了:
上传的图片已存至nfs机器上:
一键安装backup备份、ntp时间同步、cron定时任务服务:
检测各机器定时任务情况:
检测定时时间同步ok:
检测各机器定时备份数据及同步情况以web服务器为例:
Is ok!
若需要以上脚本等文件,点击此处跳转地址 即可,脚本写的不好,望大家多少包涵、指教。