前面我们已经安装完 Nginx,但是在日常维护中经常需要修改配置文件,并重新加载配置文件,因此来写一个管理 Nginx 配置文件的 Playbook: [root@localhost ~]$ mkdir -p /etc/ansible/nginx_config/roles/{new,old}/{files,handlers,vars,tasks} [root@localhost ~]$ tree /etc/ansible/nginx_config/ /etc/ansible/nginx_conf…
一.Jinja2介绍 Jinja2是基于python的模板引擎,功能比较类似于PHP的smarty,J2ee的Freemarker和velocity.它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛.jinja2使用BSD授权 Jinja2的语法是由variables(变量)和statement(语句)组成,如下: 1.variables:可以输出数据 {{ my_variables }} {{ some_dudes_name | capitalize }} 2.statement…
1. 案例1:创建jinja2的nginx的主配置文件  1) 编写jinja2的nginx的主配置文件 1 [root@test-1 jinja2]# vim /ansible/jinja2/test.yaml 2 [root@test-1 jinja2]# cat /ansible/jinja2/test.yaml 3 --- 4 - hosts: web1 5 vars: 6 http_prot: 80 7 server_name: test.scajy.cn 8 9 tasks: 10…
最近手里的数百台服务器需要改/etc/ssh/sshd_config的参数,禁止root直接登陆,也就是说 [root@t0 ~]# cat /etc/ssh/sshd_config | grep Root #PermitRootLogin yes 得改成 [root@t1 ~]# cat /etc/ssh/sshd_config| grep ^PermitRoot PermitRootLogin no 一台台登上去改简直要死,ansible自动化运维工具听说还不错,之前就会用命令直接使用she…
一.需求 我们使用Nginx做七层负载均衡,后端是Tomcat.项目采用灰度发布方式,每次项目升级,都要手动先从Nginx下摘掉一组,然后再升级这组,当项目快速迭代时,手动做这些操作显然会增加部署时间,于是就想通过脚本实现自动化管理Nginx配置文件. 当时考虑自己写Shell脚本对Nginx配置文件操作,需要用到sed流编辑器,sed本身没有条件判断语句,并不能灵活判断配置文件中要添加/删除位置,因此会增加配置错误风险. 在查资料无意间发现confd能自动管理配置文件,通过模板渲染生成配置文件…
1.playbook?playbook翻译过来就是"剧本",那playbook组成如下 play: 定义的是主机的角色 task: 定义的是具体执行的任务 playbook: 由一个或多个play组成,一个play可以包含多个task任务 简单理解为: 使用不同的模块完成一件事情 通俗理解playbook? - playbook 剧本 <---文件 YAML - play 找谁 明星 找那个主机 web01 - task 做什么 干什么事情 yum copy service -…
一 Ansible自动化运维工具 Python 在运维工作中的经典应用 ansible(批量管理操作) .安装ansible(需要bese epel 2种源) wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum i…
一,工具与环境介绍 1.1 ansible简介 批量管理服务器的工具 无需部署agent,通过ssh进行管理 流行的自动化运维工具:https://github.com/ansible/ansible 1.2 jenkins简介 可视化运维(主要用在可视化部署) 持续构建,可以和git,svn结合 可结合ssh实现可视化运维 可结合ansible实现可视化运维 1.3 环境说明 Centos7.5(yum -y install net-tools vim) 关闭防火墙(systemctl sto…
Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操作更方便哦 1.工具与环境介绍 1.1 ansible简介 批量管理服务器的工具 无需部署agent,通过ssh进行管理 流行的自动化运维工具:https://github.com/ansible/ansible 1.2 jenkins简介 可视化运维(主要用在可视化部署) 持续构建,可以和git,…
Jinja2模版介绍 注:本文demo使用ansible2.7稳定版 在ansible基础-变量的「8.2 模版使用变量」章节中关于模版与变量也有所提及,有兴趣的同学可以去回顾一下. ansible通过Jinja2模版来实现动态表达式和变量的引用,模版的执行都是在ansible控制端完成的,所以理论上python的jinja2模块在控制端存在就能满足需求. Jinja2模版都可以怎么使用?(分类) playbook文件中引用Jinja2模版实现动态表达式和变量的引用. 模版文件(roles/te…