如何优化陕西省建设厅官网以适应连锁行业的网站需求?
摘要:陕西省建设厅网站官网,建设适应连锁行业网站,设计网站开发费用计入什么科目,成功网站运营案例文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目
陕西省建设厅网站官网,建设适应连锁行业网站,设计网站开发费用计入什么科目,成功网站运营案例文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录handlers目录tasks目录templates目录vars目录 创建LNMP剧本文件 playbook二
Roles模块
角色的作用#xff1a;把playbook… 文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录handlers目录tasks目录templates目录vars目录 创建LNMP剧本文件 playbook二
Roles模块
角色的作用把playbook剧本中的各个play看作为角色将各个角色的task任务、vars变量、templates模板、files文件等内容放置到角色的目录中统一管理需要的时候可在playbook中直接使用roles调用所以roles可以实现playbook代码的复用roles用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。 简单来讲roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中并可以便捷的include它们的一种机制。roles一般用于基于主机构建服务的场景中但也可以是用于构建守护进程等场景中。主要使用场景代码复用度较高的情况下。假如我们现在有3个被管理主机第一个要配置成httpd第二个要配置成haproxy服务器第三个要配置成MySQLmariadb服务器。我们如何来定义playbook 第一个play用到第一个主机上用来构建httpd第二个play用到第二个主机上用来构建haproxy。这些个play定义在playbook中比较麻烦将来也不利于模块化调用不利于多次调用。比如说后来又加进来一个主机这第3个主机既是httpd服务器又是haproxy服务器我们只能写第3个play上面写上安装httpd和haproxy。这样playbook中的代码就重复了。 为了避免代码重复可以定义一个角色叫httpd第二个角色叫haproxy并使用roles实现代码重复被调用。
//roles 的目录结构
cd /etc/ansible/
tree roles/
roles/
├── web/ #相当于 playbook 中的 每一个 play 主题
│ ├── files/
│ ├── templates/
│ ├── tasks/
│ ├── handlers/
│ ├── vars/
│ ├── defaults/
│ └── meta/
└── db/├── files/├── templates/├── tasks/├── handlers/├── vars/├── defaults/└── meta/roles 内各目录含义解释
●files
用来存放由 copy 模块或 script 模块调用的文件。●templates
用来存放 jinjia2 模板template 模块会自动在此目录中寻找 jinjia2 模板文件。●tasks
此目录应当包含一个 main.yml 文件用于定义此角色的任务列表此文件可以使用 include 包含其它的位于此目录的 task 文件。●handlers
此目录应当包含一个 main.yml 文件用于定义此角色中触发条件时执行的动作。●vars
此目录应当包含一个 main.yml 文件用于定义此角色用到的变量。●defaults
此目录应当包含一个 main.yml 文件用于为当前角色设定默认变量。 这些变量具有所有可用变量中最低的优先级并且可以很容易地被任何其他变量覆盖。所以生产中我们一般不在这里定义变量●meta
此目录应当包含一个 main.yml 文件用于定义此角色的元数据信息及其依赖关系。
