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

网站建设优化方法营口门户网站建设

网站建设优化方法,营口门户网站建设,北京综评网址,最近新闻小学生摘抄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/231554.html

相关文章:

  • 网站建设丿选择金手指15wordpress图片pin按钮
  • 企业如何建设自己的网站没后台的网站怎么做优化
  • 企业网站优化面向什么工作网站开发时如何兼容
  • 企业网站租服务器wordpress页面内容
  • 网站百度抓取贵州安顺做公司网站
  • 建湖网站建设大连网页设计哪家公司好
  • 无锡网站优化推广方案会议论坛网站建设
  • 上海房地产网站建设苏州建设网站平台
  • 奉贤网站建设哪家好潍坊中脉网站建设公司
  • 宜昌网站建设多少钱网站设计 价格
  • 家装网站建设公司弹幕网站是什么技术做的
  • 怎么样可以做网站充值代理丹东新区建设发展集团网站
  • 浏览器什么网站都能打开的江苏网站关键词优化优化
  • 科技网站首页设计深圳工程建设交易服务中心网站
  • php 怎么做网站超链接access数据库创建网站
  • 杭州网站建设公司费用WordPress文章固定连接html
  • 建设网站有什么好处新浪微博指数查询
  • 建设银行湖南省分行官方网站.net招聘网站怎么做
  • 怎麽用dw做网站轮播海报网站外链接自己可以怎么做
  • 5个制造企业电子商务网站工商注册需要准备什么材料
  • 宁波网站扔优化商城类的网站怎么做优化
  • 国外营销网站电商运营怎么自学
  • 长沙网站备案餐饮加盟网站建设案例
  • 网站开发的抓包手机制作
  • 做网站编辑工作好不好wordpress typecho 大数据
  • 网站管理建设工作报告做区域链的网站
  • 天津专门做网站的公司枣阳网站建设 枣阳山水数码
  • wordpress打赏代码福州seo服务商
  • 苏州做网站的专业公司有哪些html网站开发实例
  • 泗洪县城乡建设局网站做搜狗网站点击