template 模板

template模板是一个文本文件,可以做为生成文件的模版,并且模板文件中还可嵌套jinja语法。
template功能:可以根据和参考模块文件,动态生成相类似的配置文件<类似增强版copy模块,复制过去给对方能够给根据一些条件判断使内容发生变化>
template文件必须存放于templates目录下,且命名为 .j2 结尾
yaml/yml 文件需和templates目录平级,目录结构如下示例:
    ./
     ├── temnginx.yml
     └── templates
                └── nginx.conf.j2

1.制作nginx.conf的template文件模板,首先在ansible目录下创建templates文件夹并将nginx.conf文件移动到该文件夹下并改名为nginx.conf.j2后缀。

mkdir templates    ###基于"项目"管理playbook的思想,ansible目录已事先创建。
cp /etc/nginx/nginx.conf ./templates/nginx.conf.j2

 2.修改nginx.conf.j2文件,找到worker_processes auto 选项,利用setup模块提供的变量将auto改成 ansible_processor_vcpus(统计系统CPU核数) ,如此一来远程主机启动nginx.conf.j2文件、开启nginx服务,就可以根据当前系统的CPU核数开启相应数量nginx进程充分利用CPU资源。PS:倘若使用setup模块提供的参数需得将playbook中 gather_facts=no 改成yes,否则 ansible_processor_vcpus 变量会无法收集系统CPU核数。


<将gather_facts选项改yes,使得set模块变量能够收集系统数据>

 <甚至可以让该变量参数算术运算(算术运算符:+, -, *, /, //, %, **),例如:{{ ansible_processor_vcpus*2 }} ,如此便可根据CPU核数调整到能够处理进程的最大数,充分压榨性能。


 3.打开安装nginx的playbook,将原先的copy模块替换成template模块(用法相似),

 

 

 

 

 

 

 

 

 

 

 



 

 

posted on 2021-06-01 09:29  1251618589  阅读(1)  评论(0编辑  收藏  举报

导航