学习目标:

提示:这里可以添加学习目标

学习内容:

模板templates



templates功能

利用template模板安装nginx样例

[root@zabbix_server ansible]# tail -9 /etc/ansible/hosts
[LYP]
#172.28.102.130 ansible_user=root ansible_ssh_pass=Cm146688!
#172.28.102.131 ansible_user=root ansible_ssh_pass=Cm146688!
172.28.102.130 http_port=81  #变量的优先级:命令行>playbook>普通变量>公共组变量
172.28.102.131 http_port=82[root@zabbix_server ansible]# grep -E  '^worker_processes' templates/nginx.conf.j2
worker_processes {{ ansible_processor_vcpus*2 }}[root@zabbix_server ansible]# grep listen templates/nginx.conf.j2 listen       {{ http_port }};listen       [::]:{{ http_port }};[root@zabbix_server ansible]# cat templatenginx.yml
---
- hosts: LYPremote_user: rootvars:- http_port: 9090tasks:- name: install packageyum: name=nginx- name: copy templatetemplate: src=nginx.conf.j2 dest=/etc/nginx/nginx.confnotify: restart service- name: start serviceservice: name=nginx state=started enabled=yeshandlers:- name: restart serviceservice: name=nginx state=restarted[root@zabbix_server ansible]# ansible-playbook templatenginx.yml PLAY [LYP] **************************************************************************************************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************************************************************************************
ok: [172.28.102.130]
ok: [172.28.102.131]TASK [install package] **************************************************************************************************************************************************************************************
ok: [172.28.102.130]
ok: [172.28.102.131]TASK [copy template] ****************************************************************************************************************************************************************************************
changed: [172.28.102.130]
changed: [172.28.102.131]TASK [start service] ****************************************************************************************************************************************************************************************
ok: [172.28.102.130]
ok: [172.28.102.131]RUNNING HANDLER [restart service] ***************************************************************************************************************************************************************************
changed: [172.28.102.130]
changed: [172.28.102.131]PLAY RECAP **************************************************************************************************************************************************************************************************
172.28.102.130             : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
172.28.102.131             : ok=5    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   [root@zabbix_server ansible]# ansible LYP -m shell -a 'netstat -luntp|grep nginx'
172.28.102.131 | CHANGED | rc=0 >>
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      22445/nginx: master
tcp6       0      0 :::9090                 :::*                    LISTEN      22445/nginx: master
172.28.102.130 | CHANGED | rc=0 >>
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      29522/nginx: master
tcp6       0      0 :::9090                 :::*                    LISTEN      29522/nginx: master[root@zabbix_server ansible]# ansible LYP -m shell -a 'ps -ef |grep nginx'
172.28.102.130 | CHANGED | rc=0 >>
root     29522     1  0 17:30 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx    29525 29522  0 17:30 ?        00:00:00 nginx: worker process
nginx    29526 29522  0 17:30 ?        00:00:00 nginx: worker process
root     29697 29696  0 17:38 pts/1    00:00:00 /bin/sh -c ps -ef |grep nginx
root     29699 29697  0 17:38 pts/1    00:00:00 /bin/sh -c ps -ef |grep nginx
172.28.102.131 | CHANGED | rc=0 >>
root     22445     1  0 17:30 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx    22446 22445  0 17:30 ?        00:00:00 nginx: worker process
nginx    22447 22445  0 17:30 ?        00:00:00 nginx: worker process
root     22973 22972  0 17:38 pts/1    00:00:00 /bin/sh -c ps -ef |grep nginx
root     22975 22973  0 17:38 pts/1    00:00:00 grep nginx

when

  • 条件测试,如果需要根据变量,facts或此前任务的执行结果来做为莫task执行与否的前提时要用到条件测试,通过when语句实现,在task使用,jinja2的语法格式:
  • when语句
  • 在task后添加when子句即可实现条件测试,when语句支持jinja2表达式语法
  • 示例:

    样例
[root@zabbix_server ansible]# cat templatenginx.yml
---
- hosts: LYPremote_user: rootvars:
#   - http_port: 9090tasks:- name: install packageyum: name=nginx- name: copy template6template: src=nginx.conf6.j2 dest=/etc/nginx/nginx.confwhen: ansible_hostname == "zabbix_agent2"notify: restart service- name: copy template7template: src=nginx.conf7.j2 dest=/etc/nginx/nginx.confwhen: ansible_hostname == "zabbix_proxy"notify: restart service- name: start serviceservice: name=nginx state=started enabled=yeshandlers:- name: restart serviceservice: name=nginx state=restarted[root@zabbix_server ansible]# ll templates/
total 8
-rw-r--r-- 1 root root 2389 Apr 30 17:16 nginx.conf6.j2
-rw-r--r-- 1 root root 2389 Apr 30 18:09 nginx.conf7.j2[root@zabbix_server ansible]# ansible LYP -m shell -a 'netstat -luntp |grep nginx'
172.28.102.130 | CHANGED | rc=0 >>
tcp        0      0 0.0.0.0:81              0.0.0.0:*               LISTEN      30869/nginx: master
tcp6       0      0 :::81                   :::*                    LISTEN      30869/nginx: master
172.28.102.131 | CHANGED | rc=0 >>
tcp        0      0 0.0.0.0:82              0.0.0.0:*               LISTEN      25965/nginx: master
tcp6       0      0 :::82                   :::*                    LISTEN      25965/nginx: master

学习产出:

提示:这里统计学习计划的总量

例如:

  • 技术笔记 2 遍
  • CSDN 技术博客 3 篇
  • 习的 vlog 视频 1 个

模板--templates相关推荐

  1. C++ 高级篇(一)—— 模板(Templates)

    模板(Templates)是ANSI-C++ 标准中新引入的概念.如果你使用的 C++ 编译器不符合这个标准,则你很可能不能使用模板. 函数模板( Function templates) 模板(Tem ...

  2. IntelliJ IDEA 快捷键及模板Templates设置

    一.设置快捷键(Keymap) 1. 设置快捷为 Eclipse 的快捷键 2.通过快捷键功能修改快捷键设置 3.通过指定快捷键,查看或修改其功能 4.导入已有的设置 点击 0K 之后,重启 IDEA ...

  3. 【Youtobe trydjango】Django2.2教程和React实战系列七【模板templates和Django模板引擎】

    [Youtobe trydjango]Django2.2教程和React实战系列七[模板templates和Django模板引擎] 1. 修改视图函数 2. 新建模板文件夹和html文件 3. 项目配 ...

  4. 【django】模板(templates)

    一.模板使⽤步骤 创建模板 设置模板查找路径 模板接收视图传⼊的数据 模板处理数据 二.创建模板 1.在应⽤同级⽬录下创建模板⽂件夹templates. ⽂件夹名称固定写法. 2.在templates ...

  5. 复习django项目三——视图显示模板templates

    1.在项目根目录创建templates文件夹,并在setting里设置模板路径DIR TEMPLATES = [{'BACKEND': 'django.template.backends.django ...

  6. flask mysql项目模板渲染_Flask系列(二) 模板 templates

    BEGIN: 在前面,我们简单的实现了第一个简单的flask项目,但是这个项目只是单纯的在网页上显示一句话,没有任何其他的东西,很是单调.这里,我们即将学习Flask的模板.相信了解过django的人 ...

  7. AS 代码模板 文件模板 Templates MD

    修改 File and Code Templates Settings –> Editor –>[File and Code Templates] 或者在右键new时选择子菜单[Edite ...

  8. 三:Angular 模板 (Templates)

    1 什么是模板 它是页面呈现的骨架,是盛装组件数据的容器.与之相关的内容包括了-----模板与组件件 '数据交互'.'内置指令'.'表单'.'管道'等. 1.1 模板语法概览 //插值:绑定属性变量的 ...

  9. Python Django模板templates渲染及配置

  10. iangularjs 模板_AngularJS 模板(Templates)

    AngularJS 模板(Templates) Angular的模板是一个声明式的视图,它指定信息从模型.控制器变成用户在浏览器上可以看见的视图. 它把一个静态的DOM -- 只包含HTML,CSS以 ...

最新文章

  1. 美团分布式服务治理框架OCTO之二:Mesh化
  2. 区块链相关论文研读7:通过分片(Sharding)扩展区块链
  3. iOS:quartz2D绘图(给图形绘制阴影)
  4. 成功解决ValueError: Dimension 1 in both shapes must be equal, for ‘Assign_8‘ (op: ‘Assign‘) with input s
  5. MySQL-proxy实现读写分离详细步骤
  6. QT的QSortFilterProxyModel类的使用
  7. mysql 同步更新_MySQL slave 不能同步更新
  8. window.onbeforeunload() 事件调用ajax的解决方法
  9. NodeJS管理利器 - pm2常用命令
  10. AJAX简单使用介绍
  11. 黑客可利用 TeamViewer 缺陷远程窃取系统密码
  12. xgboost算法_XGBoost 原理 及 常见面试题
  13. GBDT(Gradient Boosting Decision Tree) 没有实现只有原理
  14. Windows10安装Matlab 2018b教程
  15. 修改android 工程图标,AndroidStudio替换项目图标ic_launcher操作
  16. defer、delay和postpone的区别?
  17. Fibo Rule决策引擎应用实践
  18. 一张我为写植物大战僵尸外.挂而画的草稿图...
  19. Api接口的模块化管理
  20. mac删除分区并合并分区

热门文章

  1. PHP生成条形码 之一 条形码介绍
  2. hdu2553解题报告
  3. 六句话,看完新造车的2021
  4. google earth pro 安装后启动时报错:google 地球无法连接到登录服务器(错误代码:c000000c)
  5. 电路基础和电路模拟——复习
  6. 交通灯控制系统的设计
  7. 浅谈人机关系在生活中的应用
  8. 电子商务概论(农)之形考作业三
  9. idcsystem源码php_XUEIDC系统源码发布V2版本
  10. CAD字体显示不出来怎么办?