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

章丘做网站优化科普重庆网站

章丘做网站优化,科普重庆网站,婚车租赁网站怎样做,chinacd.wordpress目录 1.playbook剧本组成 2.playbook剧本实战演练 2.1 实战演练一#xff1a;给被管理主机安装httpd服务 2.2 实战演练二#xff1a;定义、引用变量 2.3 实战演练三#xff1a;指定远程主机sudo切换用户 2.4 实战演练四#xff1a;when条件判断 2.5 实战演练五…目录 1.playbook剧本组成 2.playbook剧本实战演练 2.1 实战演练一给被管理主机安装httpd服务 2.2 实战演练二定义、引用变量 2.3 实战演练三指定远程主机sudo切换用户 2.4 实战演练四when条件判断 2.5 实战演练五迭代循环 3.总结 1.playbook剧本组成 1Tasks任务即通过task调用ansible的模板将多个操作组织在一个playbook中运行 2Variables变量 3Templates模板 4Handlers处理器当changed状态条件满足时notify触发执行的操作 5Roles角色 2.playbook剧本实战演练 示例 vim test1.yaml --- #yaml文件以---开头以表明这是一个yaml文件可省略 - name: first play #定义一个play的名称可省略gather_facts: false #设置不进行facts信息收集这可以加快执行速度可省略hosts: webservers #指定要执行任务的被管理主机组如多个主机组用冒号分隔remote_user: root #指定被管理主机上执行任务的用户tasks: #定义任务列表任务列表中的各任务按次序逐个在hosts中指定的主机上执行- name: test connection #自定义任务名称ping: #使用 module: [options] 格式来定义一个任务- name: disable selinuxcommand: /sbin/setenforce 0 #command模块和shell模块无需使用keyvalue格式ignore_errors: True #如执行命令的返回值不为0就会报错tasks停止可使用ignore_errors忽略失败的任务- name: disable firewalldservice: namefirewalld statestopped #使用 module: options 格式来定义任务option使用keyvalue格式- name: install httpdyum: namehttpd statelatest- name: install configuration file for httpdcopy: src/opt/httpd.conf dest/etc/httpd/conf/httpd.conf #这里需要一个事先准备好的/opt/httpd.conf文件notify: restart httpd #如以上操作后为changed的状态时会通过notify指定的名称触发对应名称的handlers操作- name: start httpd serviceservice: enabledtrue namehttpd statestartedhandlers: #handlers中定义的就是任务此处handlers中的任务使用的是service模块- name: restart httpd #notify和handlers中任务的名称必须一致service: namehttpd staterestarted ##Ansible在执行完某个任务之后并不会立即去执行对应的handler而是在当前play中所有普通任务都执行完后再去执行handler这样的好处是可以多次触发notify但最后只执行一次对应的handler从而避免多次重启。2.1 实战演练一给被管理主机安装httpd服务 在ansible服务器主机给远程被管理主机制作安装httpd服务的剧本文件play1.yam mkdir playbook cd playbook/ vim play1.yaml - name: first playgather_facts: falsehosts: dbserversremote_user: roottasks:- name: disable firewalldservice: namefirewalld statestopped enabledno- name: disable selinuxcommand: setenforce 0ignore_errors: true- name: mount cdrommount: src/dev/sr0 path/mnt fstypeiso9660 statemounted- name: install httpdyum: namehttpd statelatest- name: start httpdservice: namehttpd statestarted enabledyes运行playbook ansible-playbook play1.yaml //补充参数 -k–ask-pass用来交互输入ssh密码 -K-ask-become-pass用来交互输入sudo密码 -u指定用户 ansible-playbook play1.yaml --syntax-check #检查yaml文件的语法是否正确 ansible-playbook play1.yaml --list-task #检查tasks任务 ansible-playbook play1.yaml --list-hosts #检查生效的主机 ansible-playbook play1.yaml --start-at-taskinstall httpd #指定从某个task开始运行被控制端验证安装情况 添加触发器 scp /etc/httpd/conf/httpd.conf 192.168.9.114:/opt/ #将httpd服务端下的httpd.conf文件复制到ansible服务器 vim /opt/httpd.conf ansible服务器 修改42行端口为8080以便测试 vim play1.yaml - name: first playgather_facts: falsehosts: dbserversremote_user: roottasks:- name: disable firewalldservice: namefirewalld statestopped enabledno- name: disable selinuxcommand: setenforce 0ignore_errors: true- name: mount cdrommount: src/dev/sr0 path/mnt fstypeiso9660 statemounted- name: install httpdyum: namehttpd statelatest- name: copy config filecopy: src/opt/httpd.conf dest/etc/httpd/conf/notify: reload httpd- name: start httpdservice: namehttpd statestarted enabledyeshandlers:- name: reload httpdservice: namehttpd statereloadedansible-playbook play1.yaml --syntax-check ansible-playbook play1.yaml 被控制端查看端口是否同步 2.2 实战演练二定义、引用变量 vim play2.yaml - name: second playremote_user: roothosts: dbserversvars:- myname: scj- myclass: xy101tasks:- name: create groupgroup: name{{myclass}}- name: create useruser: name{{myname}} groups{{myclass}}ansible-playbook play2.yaml --syntax-check ansible-playbook play2.yaml 被控制主机验证 使用facts信息做变量 vim play2.yaml- name: second playremote_user: roothosts: dbserversgather_facts: truevars:- myname: scj- myclass: xy101tasks:- name: create groupgroup: name{{myclass}}- name: create useruser: name{{myname}} groups{{myclass}}- name: copy filecopy: content{{ansible_default_ipv4}} dest/opt/ipv4.txtansible-playbook play2.yaml被控制节点验证 指定子字段名称查看具体内容获取子字段内容使用.13.51解释 vim play2.yaml - name: second playremote_user: roothosts: dbserversgather_facts: truevars:- myname: scj- myclass: xy101tasks:- name: create groupgroup: name{{myclass}}- name: create useruser: name{{myname}} groups{{myclass}}- name: copy filecopy: content{{ansible_default_ipv4.network}} dest/opt/ipv4.txtansible-playbook play2.yaml被控制节点验证 运行时指定变量 ansible-playbook play2.yaml -e mynamezhuxiang #在命令行里定义变量2.3 实战演练三指定远程主机sudo切换用户 vim /etc/sudoers #被控制节点为用户授权并设置密码 zhuxiang ALL(ALL) ALLecho 123456 | passwd --stdin zhuxiang vim play2.yaml - name: second playremote_user: zhuxiangbecome: yes #2.6版本以后的参数之前是sudo意思为切换用户运行become_user: root #指定sudo用户为roothosts: dbserversgather_facts: truevars:- myname: wangwang- myclass: xy102tasks:- name: create groupgroup: name{{myclass}}- name: create useruser: name{{myname}} groups{{myclass}}- name: copy filecopy: content{{ansible_default_ipv4.network}} dest/opt/ipv4.txtansible-playbook play2.yaml -k -K -k–ask-pass用来交互输入ssh密码 -K-ask-become-pass用来交互输入sudo密码被控制节点验证 2.4 实战演练四when条件判断 在Ansible中提供的唯一一个通用的条件判断是when指令当when指令的值为true时则该任务执行否则不执行该任务。 vim play3.yaml - name: third playremote_user: roothosts: webserversgather_facts: truetasks:- name: copy scj.sh to 9.111copy: src/opt/scj.sh dest/optwhen: ansible_default_ipv4.address 192.168.9.111- name: run sjc.sh on 9.113script: /opt/scj.sh scj tangjunwhen: inventory_hostname ! 192.168.9.111192.168.9.111节点 192.168.9.113节点 2.5 实战演练五迭代循环 vim play4.yaml - name: four playremote_user: roothosts: dbserversgather_facts: notasks:- debug: msg{{item}}with_items:- a- b- cansible-playbook play4.yaml 迭代创建用户 vim play4.yaml- name: four playremote_user: roothosts: dbserversgather_facts: notasks:- name: create usersuser: name{{item}} groupsxy101with_items:- zhang- san- liansible-playbook play4.yaml 被控制节点验证 vim /etc/group vim /etc/passwd #可根据两条命令查看是否创建成功 创建多个用户并加入不同组 vim play4.yaml - name: four playremote_user: roothosts: dbserversgather_facts: novars:- mygroups: [xy1, xy2, xy3]tasks:- name: create groupsgroup: name{{item}}with_items: {{mygroups}}- name: create usersuser: name{{item.myname}} groups{{item.myclass}}with_items:- myname: simyclass: xy1- myname: wangmyclass: xy2- myname: wumyclass: xy3 ansible-playbook play4.yaml 被控制节点验证 vim /etc/group vim /etc/passwd #可根据两条命令查看是否创建成功 3.总结 playbook剧本的格式 vim XXX.yaml XXX.yml - name: #设置play的名称一个playbook文件里可以有多个playhosts: #设置执行此play的远程主机组多个组用 : 分隔remote_user: #设置在远程主机执行此play的用户名默认为rootbecome: yes #设置是否需要在远程主机sudo切换执行任务become_user: root #设置sudo切换的用户一般为rootgather_facts: true|false #设置是否收集facts信息默认为truevars: #设置此play中使用的自定义变量- 变量1: 值1- 变量2: 值2tasks: #设置此play的任务列表- name: #定义任务的名称模块名: 模块参数 #定义此任务要使用的模块和参数(键值对格式 keyvalue)- name: 模块名: 模块参数ignore_errors: true #忽略此任务可能的失败如果不忽略则任务失败会导致中断后续任务的执行- name: 模块名: 模块参数when: 条件表达式 #条件表达式成立则执行此任务不成立则不执行此任务- name: 模块名: 模块参数{{item}} #循环遍历with_items: #定义循环的取值列表- name: 模块名: 模块参数notify: 任务名 #定义此任务执行状态为changed时要触发的handler任务handlers: #设置notify触发的任务- name: 任务名模块名: 模块参数playbook运行命令 ansible-playbook XXX.yaml -u 远程用户 -k--become-user sudo切换的用户 -K--syntax-check--list-task--list-hosts--start-at-task任务名-e 变量值模块参数的格式 横向格式模块名: 参数1值 参数2{{变量名}} ....纵向格式模块名: 参数1: 值参数2: {{变量名}}....vars 和 with_items 的格式 #值为纯量类型时 tasks: - name:模块名: 参数1{{item}}with_items:- 值1 #纵向格式- 值2....tasks: - name:模块名: 参数1{{item}}with_items: [值1, 值2, ....] #横向格式#先使用vars定义循环取值列表再用with_items引用vars的变量 vars: - 变量1:- 值1 #纵向格式- 值2.... - 变量2: [值1, 值2, ....] #横向格式tasks: - name:模块名: 参数1{{item}}with_items: {{变量1}} #使用with_items引用vars的变量 - name:模块名: 参数1{{item}}with_items: {{变量2}}#当值为对象类型键值对时 tasks: - name:模块名: 参数1{{item.key1}} 参数2{{item.key2}}with_items: - key1: 值1 #纵向格式key2: 值2- key1: 值3key2: 值4....with_items:- {key1: 值1, key2: 值2} #横向格式- {key1: 值3, key2: 值4}....vars: - 变量1: - key1: 值1 #纵向格式key2: 值2- key1: 值3key2: 值4.... - 变量2:- {key1: 值1, key2: 值2} #横向格式- {key1: 值3, key2: 值4}.... tasks: - name:模块名: 参数1{{item.key1}} 参数2{{item.key2}}with_items: {{变量1}}
http://www.hkea.cn/news/14315865/

相关文章:

  • 无锡上网站建设北京网站建设建站
  • 沂源网站开发厦门外贸网站建
  • 网站迁移到别的服务器要怎么做电子商务网站建设的案例分析题
  • 做企业网站比较好的公司广州网站建设总结
  • 柳州网站网站建设自己做淘宝返利网站吗
  • 织梦网站地图html怎么做wordpress 大前端主题
  • 什么网站能免费做公众号封面建筑公司使命愿景价值观
  • 不用虚拟机可以做网站吗网络营销方案如何写
  • 佛山微网站建设 天博好的网站 具备
  • 无锡网站制作推广公司typecho wordpress
  • 工会网站群建设方案网络架构接单
  • 电子商务网站建设用什么登录上线了做网站价格贵
  • 电商网站卷烟订货流程网站型建设模板
  • 建设银行U盾不自己弹网站了怎么看网站用什么代码做的
  • 如何做拉勾勾网站活动线报资源网
  • 株洲做网站的做网站界面设计大小
  • 查找企业信息的网站哪个好网站开发教学大纲
  • 网站后端开发语言必应搜索引擎国际版
  • 哪些网站做外链汕头新导网络公司
  • 链接提取视频的网站深圳网络设计
  • 做网站收费多少如何做团购网站
  • wordpress是建站工具 还是语言58网络推广
  • 360全景网站怎么做建设工程检测中心网站
  • 合肥建设信息网站宣武郑州阳网站建设
  • 如何给网站添加搜索关键字django网站开发逻辑设计
  • 做网站就广告公司加盟代理哪家好
  • 仿淘宝网站源码 phpseo基础知识培训
  • 网站怎样做银联支付接口现在还做响应式网站吗
  • 钟祥网站制作网页设计实验报告3000字
  • 免费企业网站哪个好index放WordPress哪个目录