写了个ansible的剧本,结合脚本,可以自动分发hosts文件、配置ssh密钥认证、同步时间、安装程序包、分发程序配置文件等,完成了haproxy+nginx(静态)+httpd、tomcat(动态)网页动静分离的搭建。
部署文件:https://pan.baidu.com/s/1wGqUieFGrxS_xtEksFHfrQ 提取码:hs6y
架构图如下:
前端haproxy作负载均衡,动态内容(jsp文件)LB调度到两apache服务器(session绑定),再由apache通过ajp协议反向代理给本地的tomcat;静态内容(图片)调度到nginx服务器。
第一步:准备四台虚拟机(node1、node2、node3、node4)(CentOS Linux release 7.0.1406 (Core)3.10.0-693.el7.x86_64)
node1:配置ip:192.168.146.101;(nginx服务器)
node2:配置ip:192.168.146.102;(haproxy调度,运行部署脚本)
node3:配置ip:192.168.146.103;(httpd+tomcat)
node4:配置ip:192.168.146.104;(httpd+tomcat)
第二步:运行脚本
完成ip地址配置之后,将提供的部署文件解压到node2主机某个目录下,执行./setup.sh即可开始自动部署。
部署文件的结构如下:
setup.sh脚本内容如下:
tomcat.yml文件:
部署前准备:(predeploy/tasks/main.yaml)
部署nginx:(staticsrvs/tasks/main.yaml)
部署httpd:(httpdsrvs-for-tomcat/tasks/main.yaml)
部署tomcat:(tomcatsrvs/tasks/main.yaml)
脚本运行过程:
可以看到node1的nginx监听80端口:
node3的http监听80端口;tomcat监听8005、8009、8080端口:
node4也是:
用浏览器访问192.168.146.102(haproxy of node2):
可以见到由out.println函数输出的字符串和图片,动静态内容均成功拿到,而且可以保持session信息。
以上。
本文为原创文章,转载请标明出处。
每当记下 未知的话语
就感觉伸手探向了 旧时回忆
但或许存在着
独自一人 就无法理解的话语
离别如此苦涩
我为何 在哭泣呢
面对这心灵 又要如何回应
话语总是 无法诉说
只能存在心间 沉积于心
让我 越来越想见你
————<Sincerely>《紫罗兰永恒花园》