ansible自动化安装nginx之管理配置文件

需求:

管理nginx.conf和vhost文件,通过playbook进行修改文件。

思路:

创建new与old目录,进行修改或回滚操作,通过playbook进行远程修改。

文件结构:

在这里插入图片描述

实现:

[root@ansible2nginx_config]#cat
/etc/ansible/nginx_config/roles/new/handlers/main.yml 
- name: restart nginx	//用于重新加载nginx服务
  shell: /etc/init.d/nginx reload
[root@ansible2nginx_config]# cat /etc/ansible/nginx_config/roles/new/tasks/main.yml 
- name: copy conf file	//复制.conf和hosts文件
  copy: src={{ item.src }} dest={{ nginx_basedir }}/{{ item.dest }} backup=yes owner=root group=root mode=0644
  with_items: 
    - { src: nginx.conf, dest: conf/nginx.conf }
    - { src: vhosts, dest: conf/ }
  notify: restart nginx
[root@ansible2 nginx_config]# cat /etc/ansible/nginx_config/roles/new/vars/main.yml 
nginx_basedir: /usr/local/nginx	//定义变量
[root@ansible2 nginx_config]# cat update.yml 
---
- hosts: 192.168.2.101	//入口文件
  user: root
  roles:
  - new		//这里只有new

old目录中的yml文件与new目录中的相同,files中的配置文件不同。
在执行update.yml前,应备份当前配置文件,当执行之后发现错误,则进行回滚操作,命令如下:

# rsync -av /etc/ansible/nginx_config/roles/new/ 
/etc/ansible/nginx_config/roles/old/

用old的配置文件覆盖掉new的配置文件,再执行update.yml文件完成回滚操作
结果如下:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值