ansible实现nginx双主模式反代,keepalived高可用,memcached缓存

ansible自动化运维工具配置ngnix前端反代到后端真实机,并设置keepalived高可用,在后端一台真实主机上配置httpd,mysql,php-fpm;设置memcached缓存服务器在这台真实主机上;(因为本人电脑配置问题,无法开启那么多虚拟机,所以就简单构建了一下)

IP配置:

Directory1(MASTER):

eno16777736:172.16.72.5

eno16777736:0:172.16.72.1(虚拟VIP)

eno33554976:192.168.72.1

eno33554976:0:192.168.72.5(虚拟DIP)

Directory2(BACKUP):

eno16777736:172.16.72.4

eno33554976:192.168.72.2

RS1:

eno16777736:192.168.72.3

①安装ansible

联网安装即可

②配置ansible的hosts inventory

对配置文件/etc/ansible/hosts

nginxproxy是作为反代服务器高可用的两台主机的真实IP,后端的参数是作为变量存在的,后面会  讲到;

rs是作为后端真实主机的IP声明,这样ansible才能针对不同的主机做出不同的配置操作;

③设置角色roles:

角色roles需要在/etc/ansible/roles下创建对应的角色目录,如

创建的角色需要在每个目录下对应创建该角色的tasks(任务),handlers,templates等需要使用的  目录;

像tasks,handlers,vars这样的目录下都需要有一个主配置文件main.yml,用于设置任务,定义  配置文件被修改后的处理操作和定义变量;templates目录则是用于存放被template模块传送的文件,  需以j2结尾的文件;files目录则是用于存放copy模块复制的文件;

④nginx角色创建:

第一项任务:传送nginx相关yum源;(再次并没有直接安装nginx,因为网络并没有连接,使用之    前安装denginx进行操作)

第二项任务:传送配置好的nginx.conf文件,该文件存放于/etc/ansible/roles/nginx/templates    下;

配置好的nginx.conf:

第三项任务:配置nginx反代服务器的ip_forward核心参数;可以直接传送配置文件永久保存;

⑤keepalived角色创建:

第一项任务:安装keepalived,使用yum模块安装;

第二项任务:传送事先配置好的keepalived配置文件;当配置文件被修改后,通过notify转到      handlers目录下的main.yml执行重启服务操作;对配置文件中设置变量参数如:

变量的value在hosts inventory处获取,也可以直接在该角色的vars目录下创建main.yml中写入;

handlers中的配置:

第三项任务:启动keepalived服务;

nginx下实现keepalived高可用双主模式:

⑥后端真实服务器apache配置

第一项任务:安装httpd;

第二项任务:传送配置好的httpd配置文件;若配置文件改动过则通过notify调用handlers重启服    务;

配置好的httpd.conf:

handlers中的配置:

第三项任务:对httpd服务进行控制,httpd_status变量默认是启动,可以在命令行中通过-e选项    设置变量;

vars目录中的配置:

⑦后端真实服务器mysql配置:

第一项任务:安装mariadb,对于centos7;使用when进行验证,判断主机版本号;

第二项任务:安装mysqld,对于centos6;使用when进行验证,判断主机版本号;

第三项任务与第四项任务都是启动相对应的mysql;

vars配置文件设置:

⑧后端真实服务器php配置:

第一项任务:安装php-fpm;

第二项任务:对php-fpm服务的操作;

vars目录中的配置:

⑨后端真实服务器memcached配置:

第一项任务:安装memcached;

第二项任务:安装memcached关于php缓存所需要的软件php-prcl-memcache;

第三项任务:传送安装memcached后需要进行php缓存的php配置文件;(针对于php-fpm)配置文件若    修改过则通过notify转到handlers;

handlers:

vars:

⑩将phpmyadmin软件包传送过去

放入files目录下;

然后在真实服务器处进行解压;

最后执行

#ansible rs -m shell -a "route add default gw 192.168.72.5"

让后端服务器的输出转到虚拟的DIP上;

输出结果:

时间: 2024-10-03 03:01:55

ansible实现nginx双主模式反代,keepalived高可用,memcached缓存的相关文章

Mysql双主热备+LVS+Keepalived高可用操作记录

MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负载均衡,如果其中master宕掉的话需要手动切换到另外一个master,而不能自动进行切换.前面介绍了Mysql+Keepalived双主热备高可用方案记录,那篇文档里没有使用到LVS(实现负载均衡),而下面要介绍的就是如何通过Keepalived+LVS方式来是实现MySQL的高可用性,利用LVS

Nginx反向代理、负载均衡, keepalived高可用

Nginx反向代理.负载均衡,  keepalived高可用 Nginx反向代理.负载均衡,  keepalived高可用 一.Nginx反向代理.负载均衡 1.什么是反向代理.负载均衡 严格的说,Nginx仅仅是作为Nginx Proxv反向代理使用的,因为这个反向代理功能表现的效果是负载均衡集群的效果,所以本文称之为Nginx负载均衡.那么,反向代理和负载均衡有什么区别呢? 普通负载均衡软件,例如大名鼎鼎的LVS,其实现的功能只是对请求数据包的转发(也可能会改写数据包).传递,其中DR模式明

keepalived双主模式实现nginx高可用及LNAMMP架构

keepalived双主模式实现nginx高可用及LNAMMP架构 一.利用keepalived实现nginx调度器高可用: 二.构建LNAMMP架构: 1) Nginx既是前端调度器,又是缓存服务器: 2) 将php的session缓存于memcached中: 3) 在Apache和php上部署Discuz论坛程序: 4) 使用https连接,即使用户使用的是http协议也可以以https协议进行访问: ---------------------------------------------

nginx+keepalived高可用及双主模式

高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠. 2.Nginx+keepalived 双主配置 这种方案,使用两个vip地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于当前架构环境. 1.Nginx+keepali

Nginx+keepalived(高可用双主模式)

Nginx+keepalived(高可用双主模式) tips:前面已经介绍了nginx+keepalived高可用主从模式,今天补充下高可用的双主模式,均可以作为主机使用 server1:192.168.237.128             VIP1:192.168.237.10 server2:192.168.237.129             VIP2:192.168.237.20 vim /etc/keepalived/keepalived.conf //编辑配置文件,增加一段新的v

Mogilefs分布式文件系统-Keepalived+Nginx双主模型实现图片分布式存储、访问

一.分布式文件系统: 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.计算机通过文件系统管理.存储数据,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小.容量增长速度.数据备份.数据安全等方面的表现都差强人意. 分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络.每个节点可以分布在

keepalived + lvs + nginx 双主配置案例 (2)

一.本文基于上一篇主备配置案例场景,修改为双主模式二.双主配置文件,即两组互为主备 1> 192.168.1.109配置文件 global_defs {notification_email {br/>[email protected][email protected]br/>[email protected]}notification_email_from [email protected]smtp_server 192.168.200.1smtp_connect_timeout 30r

Keepalived 之 双主模式+DNS轮询机制 实现高负载

一.Keepalived双主模式+DNS轮询机制作用 作用:在单主模式下,备机通常会以等待状态放着,不接受任何数据,导致所有数据请求只往主机-负载均衡发送,做成资源浪费:而双主模式,即创造两个VIP,两个VIP分别放在两台负载均衡的机器上,同时两台主机均为对方的备机,以作VIP的漂移,服务接管作用,加入DNS轮询机制,使客户端的域名分别依次解释到两个VIP上,形成两台负载均衡主机同时对外提供服务.同时也解决了单主模式下的单机性能屏颈. 二.网络拓扑图 三.两台负载均衡主机的Keepalived

通过KeepAlived搭建MySQL双主模式的高可用集群系统

企业级MySQL集群具备高可用.可扩展.易管理.低成本的特点.下面将介绍企业环境中经常应用的一个解决方案,即MySQL的双主互备架构,主要设计思路是通过MySQL Replication技术将两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制.这样就实现了高可用构架中的数据同步功能,同时,将采用KeepAlived来实现Mysql的自动failover.在这个构架中,虽然两台MySQL Server互为主从,但同一时刻只有一个MySQL Ser