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

新建网站怎么做优化网站推广办法

新建网站怎么做优化,网站推广办法,互联网网站开发用哪个语言开发,网站关键词 提醒Playbook 特点 playbook 剧本是由一个或多个play组成的列表play的主要功能在于将预定义的一组主机#xff0c;装扮成事先通过ansible中的task定义好的任务角色。Task实际是调用ansible的一个module#xff0c;将多个play组织在一个playbook中#xff0c;即可以让… Playbook 特点 playbook 剧本是由一个或多个play组成的列表play的主要功能在于将预定义的一组主机装扮成事先通过ansible中的task定义好的任务角色。Task实际是调用ansible的一个module将多个play组织在一个playbook中即可以让它们联合起来按事先编排的机制执行预定义的动作Playbook 文件是采用YAML语言编写的 二、 YAML 语言介绍 YAMLYAML Aint Markup Language即YAML不是标记语言。主要用来配置大小写敏感不支持tab 是一个可读性高的用来表达资料序列的格式。 YAML 语言特性 YAML的可读性好YAML和脚本语言的交互性好YAML使用实现语言的数据类型YAML有一个一致的信息模型YAML易于实现YAML可以基于流来处理YAML表达能力强扩展性好 YAML 语法简介 在单一文件第一行用连续三个连字号- 开始还有选择性的连续三个点号( ... )用来表示文件的结尾次行开始正常写Playbook的内容一般建议写明该Playbook的功能使用#号注释代码缩进必须是统一的不能空格和tab混用缩进的级别也必须是一致的同样的缩进代表同样的级别程序判别配置的级别是通过缩进结合换行来实现的YAML文件内容是区别大小写的key/value的值均需大小写敏感多个key/value可同行写也可换行写同行使用分隔key后面冒号要加一个空格 比如: key: valuevalue可是个字符串也可是另一个列表YAML文件扩展名通常为yml或yaml 支持的数据类型 标量单个的、不可再分的值对象键值对的集合又称为映射mapping/ 哈希hashes / 字典dictionary数组一组按次序排列的值又称为序列sequence / 列表list 三、 Playbook 核心组件 一个playbook 中由多个组件组成其中所用到的常见组件类型如下: Hosts 执行的远程主机列表Tasks 任务集由多个task的元素组成的列表实现每个task是一个字典一个完整的代码块功能需最少元素需包括 name 和 task一个name只能包括一个taskVariables 内置变量或自定义变量在playbook中调用Templates 模板可替换模板文件中的变量并实现一些简单逻辑的文件Handlers 和 notify 结合使用由特定条件触发的操作满足条件方才执行否则不执行tags 标签 指定某条任务执行用于选择运行playbook中的部分代码。ansible具有幂等性因此会自动跳过没有变化的部分即便如此有些代码为测试其确实没有发生变化的时间依然会非常地长。此时如果确信其没有变化就可以通过tags跳过此些代码片段 1. host 组件 Hosts playbook 中的每一个play的目的都是为了让特定主机以某个指定的用户身份执行任务。 hosts用于指定要执行指定任务的主机须事先定义在主机清单中。 2. remote_user 组件 remote_user: 可用于Host和task中。也可以指定其通过sudo的方式在远程主机上执行任务可用于play全局或某任务此外甚至可以在sudo时使用sudo_user指定sudo时切换的用户。 3. task列表和action组件 play的主体部分是task listtask list中有一个或多个task,各个task 按次序逐个在hosts中指定的所有主机上执行即在所有主机上完成第一个task后再开始第二个task。 task的目的是使用指定的参数执行模块而在模块参数中可以使用变量。模块执行是幂等的这意味着多次执行是安全的因为其结果均一致每个task都应该有其name用于playbook的执行结果输出建议其内容能清晰地描述任务执行步骤。 如果未提供name则action的结果将用于输出。 4. Handlers notify 组件 Handlers本质是task list 类似于MySQL中的触发器触发的行为其中的task与前述的task并没有本质上的不同主要用于当关注的资源发生变化时才会采取一定的操作。而Notify对应的action可用于在每个play的最后被触发这样可避免多次有改变发生时每次都执行指定的操作仅在所有的变化发生完成后一次性地执行指定操作。在notify中列出的操作称为handler也即notify中调用handler中定义的操作 注意: 如果多个task通知了相同的handlers 此handlers仅会在所有tasks结束后运行一次。只有notify对应的task发生改变了才会通知handlers 没有改变则不会触发handlershandlers 是在所有前面的tasks都成功执行才会执行如果前面任何一个task失败会导致handler跳过执行可以使用force_handlers: yes 强制执行handler 5. tags 标签 在playbook文件中可以利用tags组件为特定task指定标签当在执行playbook时可以只执行特定tags的task而非整个playbook文件。 6. ignore_errors 组件 如果一个task出错默认将不会继续执行后续的其它task 利用 ignore_errors: yes 可以忽略此task的错误继续向下执行playbook其它task 7. yml 文件 实操 建议修改vim配置 vim   ~/.vimrc set ai    //自动对齐 set ts2  //一个tab键等于2个空格 //每次按下Enter键换行时新的行会自动缩进并且缩进将会用2个空格来表示 示例1新建用户 [rootnode1 data]#  vim add_user.yml   //编写yml文件写法1 --- - hosts: lkkgather_facts: notasks:- name: creat useruser: namecxk uid6666 systemyes 写法2 --- - hosts: lkkgather_facts: notasks:- name: creat useruser:name: wyfuid: 666system: yes[rootnode1 data]#  ansible-playbook  --syntax-check add_user.yml  //检查语法格式 [rootnode1 data]#  ansible-playbook add_user.yml  //执行 示例2yum安装httpd并启动 [rootnode1 data]#  vim httpd.yml  //编写yml文件--- - hosts: lkkgather_facts: notasks:- name: yum httpdyum:name: httpdstate: present- name: stop firewalldservice:name: firewalldstate: stoppedenabled: no- name: start httpdservice:name: httpdstate: started- name: web pagecopy: src/data/index.html dest/var/www/html/[rootnode1 data]#  ansible-playbook  --syntax-check httpd.yml  //检查语法错误 [rootnode1 data]#  ansible-playbook  httpd.yml   //执行[rootnode1 data]#  curl 172.16.88.8 7-1 [rootnode1 data]#  curl 172.16.88.9 7-1 示例3yum安装nginx并启动 [rootnode1 data]#  vim nginx.yml   //编写yml文件--- - hosts: lkkgather_facts: notasks:- name: install epelyum: nameepel-release.noarch statepresent- name: install nginxyum: namenginx statepresent- name: stop httpdservice: namehttpd statestopped- name: start nginxservice: namenginx statestarted enabledyes- name: web pagecopy: src/data/index.html dest/usr/share/nginx/html[rootnode1 data]#  ansible-playbook --syntax-check nginx.yml  //检查语法错误 [rootnode1 data]#  ansible-playbook nginx.yml  //执行[rootnode1 data]#  curl 172.16.88.8 7-1 [rootnode1 data]#  curl 172.16.88.9 7-1 示例4编译安装nginx并启动 --- - hosts:  lkkgather_facts:  notasks:- name:  install  packagesyum:name: - gcc- pcre-devel- openssl-devel- zlib-devel- openssl - openssl-develstate:  present  - name:  unarchiveunarchive: src/opt/nginx-1.18.0.tar.gz  dest/opt- name:  bianyicommand: ./configure --prefix/apps/nginx --usernginx --groupnginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_moduleargs:chdir: /opt/nginx-1.18.0- name:   makecommand: makeargs:chdir: /opt/nginx-1.18.0- name:   make  installcommand: make  installargs:chdir: /opt/nginx-1.18.0- name: cpoy  servicecopy:  src/usr/lib/systemd/system/nginx.service    dest/usr/lib/systemd/system/nginx.service- name:   reloadcommand: systemctl  daemon-reload- name: linkshell:  ln -s  /apps/nginx/sbin/nginx   /usr/bin            - name:  start  nginxservice:  namenginx  statestarted  enabledyes- name:  web pagetags:  pagecopy:  src/data/index.html    dest/apps/nginx/html 示例5使用tags标签 [rootnode1 data]#  vim nginx.yml   //添加tags --- - hosts: lkkgather_facts: notasks:- name: web pagetags: pagecopy: src/data/index.html dest/apps/nginx/html [rootnode1 data]#  ansible-playbook -t page nginx.yml  //仅执行特定tags的task而非整个playbook文件 四、 Playbook 命令 ansible-playbook filename.yml ... [options] 选项 作用 --syntax-check 语法检查可缩写成--syntax相当于bash -n -C  --check 模拟执行只检测可能会发生的改变但不真正执行操作dry run --list-hosts 列出运行任务的主机 --list-tags 列出tag标签 --list-tasks 列出task任务列表 --limit 主机列表 只针对主机列表中的特定主机执行例ansible-playbook  test.yml  --limit 192.168.204.20 -i INVENTORY 指定主机清单文件通常一个项对应一个主机清单文件例ansible-playbook  test.yml  -i  /opt/hosts --start-at-task START_AT_TASK 从指定task开始执行而非从头开始START_AT_TASK为任务的name  -v -vv  -vvv 显示过程
http://www.hkea.cn/news/14340291/

相关文章:

  • 东莞营销网站建设多少钱企业网站续费
  • 旅游网站的建设内容Wordpress卡片主题
  • 陕西做网站找谁wordpress 文字链接
  • 建设一个营销型网站山西省住房与城乡建设厅网站
  • 可以查企业的网站ui设计是什么工作
  • 回收手表的网站网站设计论文经济可行性分析
  • 广州多语言外贸网站建设支付网站建设会计分录
  • 聊城网站推广品牌wordpress主题虚拟资源交易平台
  • 爱站关键词查询安阳网站制作优化
  • 网站打赏怎么做的注册装修公司要多少钱才能注册
  • 网站不见了门禁考勤网站建设
  • 自建网站怎么做后台管理系统360信息流广告在哪里展示
  • 邢台好蜘蛛网站建设专业做红木家具网站
  • 石家庄网站建设外包网站编辑知识
  • 义乌网站建站移动互联网应用程序管理情况
  • 神一般的网页设计网站网络平台推广
  • 手机网站备案泰安人才招聘网最新招聘2023
  • 切片工具做网站怎么做安卓手机应用开发
  • 企业网站备案不通过网站和系统哪个好做
  • 源码网站wordpress标签设置主页
  • 厦门网站建设_wordpress 手机看不了视频
  • 射阳建设网站多少钱陕西网站建设开发
  • 查询网站备案时间甘谷县建设局网站
  • 深圳网站建设公司服务平台怎么样可以自己做网站
  • 网站界面设计描述一般网站用什么做的
  • 公司的网站设计定制品牌
  • 如何自己做视频网站wordpress插件dedecms
  • 西安网站推广招聘慧聪网首页
  • 绍兴网站建设哪家专业自己建设购物网站
  • 用织梦模板做网站中企建设网站