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

网站建设优化方法西安黄页88网企业名录

网站建设优化方法,西安黄页88网企业名录,一个服务器做两个网站,网站定制建设公司playbooks 概述以及实例操作 Playbooks 组成部分#xff1a; Inventory Modules Ad Hoc Commands Playbooks Tasks: 任务#xff0c;即调用模块完成的某些操作 Variables: 变量 Templates: 模板 Handlers: 处理器#xff0c;由某时间触发执行的操作 Roles: 角色 YAML 介绍…playbooks 概述以及实例操作 Playbooks 组成部分 Inventory Modules Ad Hoc Commands Playbooks Tasks: 任务即调用模块完成的某些操作 Variables: 变量 Templates: 模板 Handlers: 处理器由某时间触发执行的操作 Roles: 角色 YAML 介绍 YAML 是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言包括XML、C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言。 YAML Ain’t Markup Language即YAML不是XML。 其特性 可读性好 和脚本语言的交互性好 使用时限语言的数据类型 有一个一直的信息模型 易于实现 可以基于流来处理 表达能力强扩展型好 YAML 语法 YAML 的语法和其他高阶语言类似并且可以简单表达清单、散列表、变量等数据结构。其结构(Structure)通过空格来展示序列(Squence)里的项用-来代办Map里的键值对用:分割 案例 name: John Smith age: 41 gender: Male spouse:name: Jane Smithage: 37gennder: Female children:- name: Jimmy Smithage: 17gender: Male- name: Jenny Smithage: 13gender: FemaleYAML 文件扩展名通常为: .yaml如 example.yaml List 列表中的所有元素均使用-打头例如 # A list of t asty fruits - Apple - Orange - Strawberry - MangoDictionary 字典通过key与value进行表示例如 # An exployee record name: Example Developer job: Developer skill: Elite也可以将key:value 放置于{}中进行描述 # An exployee record {name: Example Developer, job: Developer, skill: Elite}Ansible 基础元素 变量 变量名仅能由字母、数字和下划线组成且只能以字母开头。 facts facts是由正在通信的远程目标主机发挥的信息这些信息被保存在ansible变量中要获取指定额远程主机所支持的所有facts可以使用如下命令进行 #ansible hostname -m setup registre 把任务的输出定义为变量然后用于其他任务示例如下 tasks: - shell: /usr/bin/fooregister: foo_resultignore_errors: true通过命令传递变量 在运行playbook的时候也可以通过一些变量供playbook使用示例如下 ansible-playbook test.yml --extra-vars hostswww usermageedu通过roles传递变量 当一个主机应用角色的时候可以传递变量然后在角色内使用这些变量示例如下 - hosts: webservsroles:- common- { role: foo_app_instance, dir: /web/htdocs/a.com, port: 8080 }Inventory ansible 的主要功能在于批量主机操作为了便捷地使用其中的部分主机可以在inventory file中将其分组命名。默认的Inventory file 为 /etc/ansible/hosts。 inventory file 可以有多个且也可以通过Dynamic Inventory来动态生成 主机变量 可以在inventory中定义主机时为其添加主机变量以便于在playbook中使用。例如 [webservs] 10.0.0.65 http_port80 maxRequestsPerChild888 10.0.0.66 http_port8080 maxRequestsPerChild909组变量 组变量是指赋予给特定组内所有主机上在playbook中可用的变量。例如 [webservs:vars] ntp_serverntp.aliyun.com nfs_servernfs.aliyun.com注意[组名:vars] 组名中的:vars 是固定用法 组嵌套 inventory中组还可以包含其他的组并且也可以像组中的主机指定变量。不过这些变量只能在ansible-playbook中使用而不支持ansible。例如 [apache] http1.magedu.com http2.magedu.com [nginx] nginx1.magedu.com nginx2.magedu.com [webservs:children] apache nginx [webservs:vars] ntp_serverntp.magedu.com注意:childer 同样是固定用法 inventory 参数 ansible基于ssh链接inventory中指定的远程主机时还可以通过参数指定其交互方式这些擦桉树如下所示 ansible_ssh_host ansible_ssh_port ansible_ssh_user ansible_ssh_pass ansible_sudo_pass ansible_connection ansible_ssh_private_key_file ansible_shell_type ansible_python_interpreter ansible_*_interpreter 编写 ansible playbooks 剧本 playbook是由一个或多个play组成的列表。play的主要功能在于将事先归并一组的主机装扮成事先通过ansible中的tasks定义好的角色。从根据上来讲所谓task无非是调用ansible的一个module。将多个play组织在一个playbook中既可以让他们联通起来按事先编排的机制同唱一台大戏。下面是一个简单的示例 - hosts: webnodesvars:http_port: 80max_clients: 256remote_user: roottasks:- name: ensure apache is at the lastest versionyum: namehttpd statelatest- name: ensure apache is runningservice: namehttpd statestartedhandlers:- name: restart apacheservice:namehttpd staterestartedplaybook 基础组件 Hosts 和 Users playbook 中的每一个play的目的都是为了让某个或某些主机一某个指定的用户执行任务。hosts用于指定要执行指定任务的主机其可以使一个或多个由冒号分割主机组remote_user则用于指定远程主机上的执行任务的用户。例如上面示例中的 - hosts: webnodesremote_user: root不过remote_user也可用于各task中也可以通过指定其通过sudo的方式在远程主机上执行任务其可用于play全局或某任务甚至可以在sudo时sudo_user指定sudo时切换的用户。 - hosts: webnodesremote_user: mageedutasks:- name: test connectionping:remote_user: mageedusudo: yes任务列表和action play的主体部分是task list。task list中的个任务按次序逐个在hosts中指定的所有主机上执行即在所有主机上完成第一个任务后再开始第二个。在运行playbook 时如果中途发生错误所有已执行任务都将会滚因此在更正playbook后重新执行一次即可。 task的目的是使用指定的参数执行模块而在模块参数中可以使用变量。模块执行是幂等的这意味着多次执行是安全的因为其结果均一致。 每个task都应该有其name用于playbook的执行结果输出建议其内容尽可能清晰地描述任务执行步骤如果为提供name则action的结果将用于输出 定义task的可以使用action: module options 或 “module: options” 的格式推荐使用候着以实现向后兼容。如果action一行的内容过度也使用在行首使用几个空白字符进行换行 tasks: - name: make sure apache is runningservice: namehtpd staterunning在众多模块中只有command 和shell模块仅需要给一个列表而无需使用keyvale格式例如 tasks: - name: disable selinuxcommand: /sbin/setenforce 0如果命令或脚本的退出码不为零可以使用如下方式替代 tasks: - name: run this command and ignore the resultshell: /usr/bin/somecommand || /bin/trueignore_errors: true 或者使用ignore_errors来忽略错误信息 tasks: - name: run this command and ignore the resultshell: /usr/bin/somecommandignore_errors: trueplaybook 案例 1 在所有的webservs组的主机上创建nginx用户和用户组 并模拟拷贝文件到dbservs中 [rootnode01 ansible]# cat nginx.yml - hosts: webservsremote_user: roottasks:- name: create nginx groupgroup: namenginx systemyes gid208- name: create nginx useruser: namenginx systemyes uid208 groupnginx - hosts: dbservsremote_user: roottasks:- name: copy file to dbservscopy: src/etc/inittab dest/tmp/inittab.ans使用ansible-playbook命令执行 [rootnode01 ansible]# ansible-playbook nginx.yml PLAY [webservs] *********************************************************************************************************** TASK [Gathering Facts] **************************************************************************************************** ok: [10.0.0.65] TASK [create nginx group] ************************************************************************************************* changed: [10.0.0.65] TASK [create nginx user] ************************************************************************************************** changed: [10.0.0.65] PLAY [dbservs] ************************************************************************************************************ TASK [Gathering Facts] **************************************************************************************************** ok: [10.0.0.66] TASK [copy file to dbservs] *********************************************************************************************** ok: [10.0.0.66] PLAY RECAP **************************************************************************************************************** 10.0.0.65 : ok3 changed2 unreachable0 failed0 10.0.0.66 : ok2 changed0 unreachable0 failed0 验证 webservs的nginx用户和组以及dbservs的/tmp/inittab.ans文件 [rootnode01 ansible]# ansible webservs -a grep nginx /etc/passwd 10.0.0.65 | CHANGED | rc0 nginx:x:208:208::/home/nginx:/bin/bash [rootnode01 ansible]# ansible webservs -a grep nginx /etc/group 10.0.0.65 | CHANGED | rc0 nginx:x:208: [rootnode01 ansible]# ansible dbservs -a ls -l /tmp/inittab.ans 10.0.0.66 | CHANGED | rc0 -rw-r--r-- 1 root root 511 Oct 12 10:38 /tmp/inittab.ans
http://www.dnsts.com.cn/news/98941.html

相关文章:

  • 丽水市企业网站建设 微信营销 影视拍摄凡科快图在线制作免费官网下载
  • 搜索引擎网站排名asp网站幻灯片不显示
  • 前端做兼职网站网站建设推广哪家好
  • 台州服务网站淘宝关键词挖掘工具
  • 网站建设推广软件本地wordpress安装
  • 网站建设好学吗网站加首页
  • 有哪些做ppt网站山西建设局网站
  • 建筑网站建设公司云南建设厅官方网站
  • 如何制作互联网网站网站流量统计分析的维度包括
  • 网站建设合同交什么印花税html5中国网站欣赏
  • 做网站一定要会ps么网址导航设主页
  • 更新网站的图片加不上水印网站后端架构如何做
  • 中国建设招标网网站首页重庆开办企业一网通平台
  • 厚瑜网站建设开发一个手游游戏要多少钱
  • 网站建设中upl连接企业策划工作内容
  • 县蒙文网站建设汇报网站弹窗广告代码
  • 宜昌网站seo公司做那种事免费网站
  • 域名 网站灯塔网站seo
  • 宁乡住房和城乡建设局网站个人建站教程
  • 公司 做网站2023年税收优惠政策
  • 网站不显示域名解析错误怎么办网站如何进行内外营销运营
  • 免费插画素材网站便民网app下载
  • 私募网站建设关于对网站建设情况的通报
  • 自微网站首页房地产销售技巧和话术
  • 做网站怎样做全页面优秀个人网站推荐
  • 品牌型网站免费网站后台管理模板下载
  • 地名网站建设方案装修公司经营范围
  • 建设部网站 专业评估郑州发布官网
  • 网站开发技术联系方式沈阳seo博客
  • 孝南区建设局网站上海 微信网站 建站