当前位置: 首页 > news >正文

设计发明的网站织梦网站如何做软件下载

设计发明的网站,织梦网站如何做软件下载,asia域名的网站,公司的创建Ansible-Jinja2 一、Ansible Jinja2模板背景介绍二、 JinJa2 模板2.1 JinJa2 是什么2.2 JinJa2逻辑控制 三、如何使用模板四、实例演示 按顺序食用#xff0c;口味更佳 ( 1 ) ⾃动化运维利器Ansible-基础 ( 2 ) ⾃动化运维利器 Ansible-Playbook ( 3 ) ⾃动化运维利器 Ansible… Ansible-Jinja2 一、Ansible Jinja2模板背景介绍二、 JinJa2 模板2.1 JinJa2 是什么2.2 JinJa2逻辑控制 三、如何使用模板四、实例演示 按顺序食用口味更佳 ( 1 ) ⾃动化运维利器Ansible-基础 ( 2 ) ⾃动化运维利器 Ansible-Playbook ( 3 ) ⾃动化运维利器 Ansible-变量 ( 4 ) ⾃动化运维利器AnsiblePlaybook的任务控制 ( 5 ) ⾃动化运维利器 Ansible-Jinja2 ( 6 ) ⾃动化运维利器 Ansible-最佳实战 一、Ansible Jinja2模板背景介绍 目前Nginx的配置⽂件在所有的服务器上都是相同的,但我希望能根据每⼀台服务器的性能去定制服务的启动进程。 同时定制每⼀台Nginx服务的响应头以便于当某台服务出现问题时能快速定位到具体的服务器。 要做这样的定制势必会导致⼀个问题Nginx 在每台物理服务器上的配置⽂件都不⼀样这样的配置⽂件如何管理呢? 再使⽤copy 模块去做管理显然已经不合适。此时使⽤Ansible 提供的另⼀个模板(template) 功能它可以帮助我们完美的解决问题。 二、 JinJa2 模板 Ansible 中的模板(template)的使⽤前提我们必须要学会JinJa2模板。学会了它就相当于我们学会了Ansible 模板。 2.1 JinJa2 是什么 Jinja2是基于Python书写的模板引擎。功能⽐较类似于PHP的smarty模板。 jinja2 ⽂件以 .j2 为后缀 也可以不写后缀jinja2 中存在 三种定界符 注释: {# 注释内容 #}变量引⽤: {{ var }}逻辑表达: {% %} 2.2 JinJa2逻辑控制 条件表达 {% if %} ... {% elif %} ... {% else %} ... {% endif %}Example {# 如果定义了 idc 变量 则输出 #} {% if idc is defined %} {{ idc }} {% elif %}没有定义 {% endif %}循环控制 {% for %} ... ... {% endfor %}Example {# 列举出 dbservers 这个 group 中的所有主机 #} {% for host in groups[dbservers] %} {{ host }} {% endfor %}{#与Python 语法不通模板中的循环内不能break或continue#} {#你可以在迭代中过滤序列来跳过某些项#} {#打印dbservers 组中的所有主机但是不打印1.1.1.1 这台主机#} {% for host in groups[dbservers] if host !1.1.1.1 %} {{host}} {% endfor %}三、如何使用模板 ⼀个基于Facts的Jinja2 实例 # cat config.j2 {# use variable example #} wlecome host {{ ansible_hostname }}, os is {{ansible_os_family }} today is {{ ansible_date_time.date }} cpucore numbers {{ ansible_processor_vcpus }}{# use condition example #} {% if ansible_processor_vcpus 1 %} OS CPU more than one core {% endif %}{% for m in ansible_mounts if m[mount] ! / %} mount {{ m[mount] }}, total size is{{m[size_total]}}, free size is {{m[size_available]}} {% endfor %}在Ansible 中使⽤模板 --- - name: a template examplehosts: allremote_user: roottasks:- name: update jinja2 configtemplate: srcconfig.j2 dest/tmp/config.conf四、实例演示 Jinja2 模板以及如何在Ansible中使⽤模板已经介绍完了。那么如何去实现我们的需求呢? nginx.conf.j2 user nginx; {# start process equal cpu cores #} worker_processes {{ ansible_processor_vcpus }}; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events {worker_connections 1024; } http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main $remote_addr - $remote_user[$time_local] $request $status $body_bytes_sent$http_referer $http_user_agent.... // 此处配置就省略了...{# add_header {{ ansible_hostname }}; #}add_header x-hostname {{ ansible_hostname }};include /etc/nginx/conf.d/*.conf; }上述是一个nginx的配置文件使用JinJa2模板后ansible就能够通过{{arg}}使用对应节点的变量而不是写死的数据。 改进后的Playbook - name: template playbook examplehosts: webserversvars:createuser:- tomcat- www- mysqltasks:- name: create useruser: name{{ item }} statepresentwith_items: {{ createuser }}- name: yum nginx webserveryum: namenginx statepresent# use ansible template- name: update nginx main configtemplate:src: nginx.conf.j2dest: /etc/nginx/nginx.conftags: updateconfignotify: reload nginx server- name: add virtualhost configcopy:src: www.qfedu.com.confdest: /etc/nginx/conf.d/tags: updateconfignotify: reload nginx server- name: check nginx syntaxshell: /usr/sbin/nginx -tregister: nginxsyntaxtags: updateconfig- name: check nginx runningstat: path/var/run/nginx.pidregister: nginxrunningtags: updateconfig- name: print nginx syntaxdebug: varnginxsyntax- name: start nginx serverservice: namenginx statestartedwhen:- nginxsyntax.rc 0- nginxrunning.stat.exists falsehandlers:- name: reload nginx serverservice: namenginx statestartedwhen:- nginxsyntax.rc 0- nginxrunning.stat.exists true执⾏还是按照原来的⽅式执⾏即可 使用JinJa2模板就不可以不必每个资产节点都准备一份配置文件ansible能够使用template注入变量为节点定制不同的配置。 按顺序食用口味更佳 ( 1 ) ⾃动化运维利器Ansible-基础 ( 2 ) ⾃动化运维利器 Ansible-Playbook ( 3 ) ⾃动化运维利器 Ansible-变量 ( 4 ) ⾃动化运维利器AnsiblePlaybook的任务控制 ( 5 ) ⾃动化运维利器 Ansible-Jinja2 ( 6 ) ⾃动化运维利器 Ansible-最佳实战
http://www.hkea.cn/news/14383755/

相关文章:

  • 生肖竞猜网站建设led网站建设
  • alexa的网站排名主要分为哪两种达州网站建设qinsanw
  • 江门网站制作华企立方网站中链接怎么做的
  • 济南科技网站建设微信官网客户端
  • 广元做网站站排名百度指数查询平台
  • 做seo网站的公司wordpress扫公众号二维码登录
  • 购物网站服务器带宽哈尔滨网站制作公司哪家好
  • 全国室内设计公司排名东莞seo网站排名优化
  • 做网站需要什么配置怎样建公司网站
  • 国外psd网页模板网站在哪个网站可以做二建的题
  • 徐州企业做网站广州市天气
  • 一家专门做衣服的网站电话销售外呼系统软件
  • 宁化网站建设仿制网站软件
  • 做网站联盟wordpress如何重装
  • 上海市建设小学网站计算机应用技术网站开发方向
  • 佛山家具网站建设公司中国网站域名备案管理系统
  • 南通做网站公司哪家好外贸网站怎么规划
  • 郑州做网站的大公司网站设计标杆企业
  • 网站后台管理系统的主要功能学校网站建设招聘
  • 模板建站能建个门户网站吗类似wordpress的图片上传
  • 用旧手机做网站服务器广州中企动力网站制作
  • 潍坊制作网站的公司云服务器是什么意思
  • 中国信用网企业查询大连百度快速优化排名
  • 网站如何做吸引人的项目新公司注册资金多少较好
  • 西安企业网站建设多少钱怎么建设一个社交网站
  • 网站制作合同书网页设计素材推荐
  • 什么是网站平台开发国外网站注册
  • 门户网站集群建设方案给公司做个网站多少钱
  • 湛江廉江网站建设做兼职女的网站
  • 图书馆网站建设教程专业定制网站建设哪里有