zoukankan      html  css  js  c++  java
  • playbook管理配置文件

    前言:在生产环境中,经常需要更改多台机器配置文件,所以用playbook来实现nginx配置文件的管理

    一、更新nginx配置文件并重新加载

    1. 创建对应目录结构

    mkdir  -p /etc/ansible/nginx_config/roles/{new,old}/{files,handlers,vars,tasks}

    PS:new用于配置文件更新,old用户配置文件回滚,files下面为nginx.conf和vhosts目录,handlers为重启nginx服务的命令

    2.把nginx.conf和vhosts目录放到files目录下面

    cd /usr/local/nginx/conf
    cp -r nginx.conf vhosts /etc/ansible/nginx_config/roles/new/files/

    3.定义变量

    cd /etc/ansible/nginx_config
    vim roles/new/vars/main.yml  //内容如下:
    nginx_basedir: /usr/local/nginx

    4.在handlers中定义重新加载nginx服务

    vim roles/new/handlers/main.yml   //内容如下:

    - name: restart nginx
      shell: /etc/init.d/nginx reload

    5. 定义配置文件,实现nginx配置文件的更新

    vim roles/new/tasks/main.yml   //内容如下:

    - name: copy conf file
      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

    6. 定义一个入口配置文件

    vim /etc/ansible/nginx_config/update.yml //内容如下:

    ---
    - hosts: 127.0.0.1
      user: root
      roles:
        - new

    7. 执行nginx配置文件更新

    ansible-playbook /etc/ansible/nginx_config/update.yml

    PS:执行之前,一定要先把files目录下面未修改的配置文件先复制到/etc/ansible/nginx_config/roles/old/files目录下面。

    二、恢复nginx配置文件并重新加载

    1. 恢复其实也是更新,相当于把旧配置文件更新到目标机器上面

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

    2. 定义一个入口配置文件

    vim /etc/ansible/nginx_config/rollback.yml //内容如下:

    ---
    - hosts: 127.0.0.1
      user: root
      roles:
        - old

    PS: files目录下面的配置文件一定是未修改之前的,这样才能保证回滚生效。

  • 相关阅读:
    怎样跟老板提加薪,来看看自己值多少钱
    leetcode-204-Count Primes
    Atitit. 异常的使用总结最佳实践java .net php Vo8f
    设计模式——第一课
    linux svn命令具体解释
    BTrace介绍和生产环境样例
    5.3.5 namedtuple() 创建命名字段的元组结构
    linux驱动开发之九鼎板载蜂鸣器驱动测试【转】
    hrtimer高精度定时器的简单使用【学习笔记】
    Linux时间子系统之(一):时间的基本概念【转】
  • 原文地址:https://www.cnblogs.com/654wangzai321/p/8046044.html
Copyright © 2011-2022 走看看