自助式建网站微信插件图片转换wordpress

张小明 2026/3/12 6:53:08
自助式建网站,微信插件图片转换wordpress,公司网站开发费用记入什么科止,免费建立自己微网站吗文章目录前言一、inventory主机清单和变量配置1、常用inventory变量2、inventory主机分组3、常用用法3.1、通过变量实现免密登入3.2、组变量3.3、组嵌套二、 Playbook 的介绍与结构三、playbook常用命令四、变量和引用五、条件判断 when六、迭代#xff1a;使用with_items 或 …文章目录前言一、inventory主机清单和变量配置1、常用inventory变量2、inventory主机分组3、常用用法3.1、通过变量实现免密登入3.2、组变量3.3、组嵌套二、 Playbook 的介绍与结构三、playbook常用命令四、变量和引用五、条件判断 when六、迭代使用with_items 或 loop七、Templates 模块八、tags模块九、roles模块1、roles介绍2、roles内各目录含义解释3、在一个 playbook 中使用 roles 的步骤:4、案例总结前言Ansible作为自动化运维的核心工具其高效管理离不开主机清单的灵活配置与变量定义。本文将系统解析inventory分组、变量应用及Playbook的模块化设计助力构建可维护的自动化体系。一、inventory主机清单和变量配置1、常用inventory变量2、inventory主机分组Inventory支持对主机进行分组每个组内可以定义多个主机每个主机都可以定义在任何一个或多个主机组内。如果是名称类似的主机可以使用列表的方式标识各个主机。·vim/etc/ansible/hosts[webservers]192.168.10.14:2222#冒号后定义远程连接端口默认是 ssh 的 22 端口192.168.10.1[2:5][dbservers]db-[a:f].example.org#支持匹配 a~f3、常用用法3.1、通过变量实现免密登入[webservers]192.168.10.106ansible_port22ansible_userrootansible_password123456无须输入密码直接登入成功3.2、组变量组内主机共享变量[webservers:vars]ansible_userrootansible_password123456[all:vars]ansible_port22批量实现免密操作3.3、组嵌套vi /etc/ansible/hosts[webservers]test1ansible_port22ansible_userrootansible_password123456http_port8080server_namewww.benet.comroot_dir/etc/httpd/htdocs[dbservers]test2ansible_port22ansible_userrootansible_password123456http_port8080server_namewww.benet.comroot_dir/etc/httpd/htdocs[sjj:children]webservers dbservers二、 Playbook 的介绍与结构Ansible 的 Playbook 是一个包含多个 Play 的 YAML 文件每个 Play 负责对指定的 主机组 执行一系列的任务。Playbook 通常由以下几部分组成Tasks每个任务会调用一个模块来在目标主机上执行操作。Variables通过定义和使用变量使 Playbook 更具灵活性和可重用性。Templates通过 Jinja2 模板动态生成配置文件。Handlers用于响应任务执行后的变更 notify 触发。Roles把多个任务、变量、模板、文件、处理程序组织成模块化结构便于复用。示例- name: first playbook gather_facts:falsehosts: webservers remote_user: root tasks: - name: task1 ping: - name: task2 command:date- name: task3installhttpd yum:namehttpdstatelatest ignore_errors:truenotify:restart httpdhandlers: - name: restart httpd service:namehttpdenabledtruestaterestarted三、playbook常用命令ansible-playbook test1.yaml# 运行 playbookansible-playbook test1.yaml --syntax-check# 检查语法ansible-playbook test1.yaml --list-task# 查看任务列表ansible-playbook test1.yaml --list-hosts# 查看影响的主机ansible-playbook test1.yaml --start-at-taskinstall httpd# 从指定任务开始执行如果要使用 SSH 密码 或 sudo 密码可以使用以下选项ansible-playbook test1.yaml -k# 提示输入 SSH 密码ansible-playbook test1.yaml -K# 提示输入 sudo 密码四、变量和引用变量在 Playbook 中非常有用它们可以通过 vars 或命令行进行定义。- name: second play hosts: dbservers remote_user: root vars: groupname: sjjgroup username: sjj tasks: - name: create group group:name{{groupname}}gid1010- name: create user user:name{{username}}uid1234group{{groupname}}# 执行ansible-playbook test2.yaml在命令行中变量也可以通过 -e 参数传递例如ansible-playbook test1.yaml -e “usernamehttpd”五、条件判断 when在Ansible中提供的唯一一个通用的条件判断是when指令当when指令的值为true时则该任务执行否则不执行该任务。- name: first playbook# gather_facts: falsehosts: all remote_user: root tasks: - name: task1 ping: - name: task2 command:date- name: task3installhttpd yum:namehttpdstatelatest ignore_errors:truenotify:restart httpdwhen: ansible_default_ipv4.address192.168.10.107handlers: - name: restart httpd service:namehttpdenabledtruestaterestarted或根据主机名来执行when: inventory_hostname “主机名”六、迭代使用with_items 或 loopAnsible 支持使用 with_items 或 loop 进行迭代。两者作用相同 loop 是较新的推荐用法- name: play1 hosts: webservers gather_facts:falsetasks: - name:touchfile: path:/opt/{{item}}.logstate:touchloop:[1,2,3]七、Templates 模块Jinja是基于Python的模板引擎。Template类是Jinja的一个重要组件可以看作是一个编译过的模板文件用来产生目标文本传递Python的变量给模板去替换模板中的标记。Jinja2 模板引擎在 Ansible 中用来动态生成文件。即通过动态的模板文件去更改原生文件步骤一创建jinja模板文件(.j2)cp/etc/httpd/conf/httpd.conf /opt/httpd.conf.j2vim/opt/httpd.conf.j2 Listen{{http_port}}#42行修改ServerName{{server_name}}#95行修改DocumentRoot{{root_dir}}#119行修改步骤二定义变量并在主机清单中指定#修改主机清单文件使用主机变量定义一个变量名相同而值不同的变量vim/etc/ansible/hosts[webservers]192.168.10.14http_port8080server_namewww.benet.comroot_dir/etc/httpd/htdocs步骤三执行playbook- name: first playbook# gather_facts: falsehosts: dbservers remote_user: root tasks: - name: task1 ping: - name: task2 command:date- name: task3installhttpd yum:namehttpdstatelatest ignore_errors:true- name:11template:src/opt/httpd.conf.j2dest/etc/httpd/conf/httpd.conf notify:restart httpdhandlers: - name: restart httpd service:namehttpdenabledtruestaterestarted端口已修改八、tags模块Tags 允许你指定只执行某些特定任务。通过命令行传入 --tags 参数来执行带有特定标签的任务。playbook还提供了一个特殊的tags为always。作用就是当使用always当tags的task时无论执行哪一个tags时定义有always的tags都会执行。- hosts: webservers remote_user: root tasks: - name: Copy hostsfilecopy:src/etc/hostsdest/opt/hosts tags: - a - name:touchfilefile:path/opt/testhoststatetouch tags: - always# 始终执行- name:touchfilefile:path/opt/hosts_3statetouch tags: - c执行ansible-playbook webhosts.yaml --tags“c”九、roles模块1、roles介绍Roles 数据中心有各种不同类型的主机。如web服务器、数据库服务器基于开发环境的服务器。随着时间的推移具有处理所有这些情况的任务和人员的Ansible playbook将变得庞大而复杂。1角色允许将复杂的剧本组织成独立的、更小的剧本和文件2角色提供了一种从外部文件加载任务、处理程序和变量的方法3角色也可关联和引用静态的文件和模板4角色可以编写成满足普通用途需求并且能被重复利用Ansible为了层次化、结构化地组织Playbook使用了角色rolesroles可以根据层次型结构自动装载变量文件、task以及handlers等。简单来讲roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中并可以便捷地include它们。roles一般用于基于主机构建服务的场景中但也可以用于构建守护进程等场景中。2、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 文件用于定义此角色的特殊设定及其依赖关系。Roles 是将 Playbook 组织成模块化的结构使其易于管理和重用。每个 Role 都有一套预定义的目录结构3、在一个 playbook 中使用 roles 的步骤:创建以 roles 命名的目录mkdir /etc/ansible/roles/ -p #yum装完默认就有创建全局变量目录可选mkdir/etc/ansible/group_vars/ -ptouch/etc/ansible/group_vars/all#文件名自己定义引用的时候注意在 roles 目录中分别创建以各角色名称命令的目录如 httpd、mysqlmkdir/etc/ansible/roles/httpdmkdir/etc/ansible/roles/mysql在每个角色命令的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录用不到的目录可以创建为空目录也可以不创建mkdir/etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta}mkdir/etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta}在每个角色的 handlers、tasks、meta、defaults、vars 目录下创建 main.yml 文件千万不能自定义文件名:touch/etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.ymltouch/etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml修改 site.yml 文件针对不同主机去调用不同的角色vim/etc/ansible/site.yml --- - hosts: webservers remote_user: root roles: - httpd - hosts: dbservers remote_user: root roles: - mysql运行 ansible-playbookcd/etc/ansible ansible-playbook site.yml4、案例创建项目目录mkdir/etc/ansible/roles/httpd/{files,templates,tasks,handlers,vars,defaults,meta}-pmkdir/etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta}-pmkdir/etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta}-ptouch/etc/ansible/roles/httpd/{defaults,vars,tasks,meta,handlers}/main.ymltouch/etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.ymltouch/etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml编写httpd模块vim/etc/ansible/roles/httpd/tasks/main.yml - name:installapache yum:name{{pkg}}statelatest - name: start apache service:enabledtruename{{svc}}statestarted //定义变量可以定义在全局变量中也可以定义在roles角色变量中一般定义在角色变量中vim/etc/ansible/roles/httpd/vars/main.yml pkg: httpd svc: httpd编写mysql模块vim/etc/ansible/roles/mysql/tasks/main.yml - name:installmysql yum:name{{pkg}}statelatest - name: start mysql service:enabledtruename{{svc}}statestartedvim/etc/ansible/roles/mysql/vars/main.yml pkg: - mariadb - mariadb-server svc: mariadb编写rolesvim/etc/ansible/site.yml --- - hosts: webservers remote_user: root roles: - httpd - mysqlcd/etc/ansible ansible-playbook site.yml总结本文深入剖析了Ansible主机清单管理、Playbook编写及roles模块化实践。掌握这些核心机制能显著提升运维自动化水平实现高效、可扩展的基础设施即代码管理。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

鞋帽箱包网站建设上海中小企业服务中心官网

在《流放之路》的复杂MOD构建世界中,新手玩家常常面临配置选择困难、信息过载的挑战。PoeCharm作为专为中文玩家设计的MOD构建工具,通过智能配置系统彻底改变了传统手动配置的低效模式。这款MOD智能配置工具不仅能帮助玩家快速上手,更能通过精…

张小明 2026/3/5 4:46:12 网站建设

wordpress网页树叶特效SEO优化网站建设价格

编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么…

张小明 2026/3/5 4:46:13 网站建设

免费的推文制作网站内蒙古住房城乡建设厅网站

Wan2.2-T2V-A14B生成美学画面的关键训练数据揭秘 在影视广告制作的会议室里,创意总监正对着空白的故事板发愁:客户想要一支“春日樱花下女性喝咖啡”的短片,预算有限、档期紧张,实拍遥遥无期……但这一次,他没有叹气&a…

张小明 2026/3/5 4:47:04 网站建设

重庆建工第二建设有限公司网站中国企业网财经

观点作者:科易网AI技术转移研究院在科技成果转化领域,服务产品的同质化现象日益凸显,成为制约高校院所成果转化效率的关键瓶颈。技术转移机构作为连接科研成果与市场应用的核心桥梁,如何突破传统模式的束缚,实现创新性…

张小明 2026/3/5 4:46:22 网站建设

有专门做美发的网站吗高校保卫处网站建设工作总结

语音情感标注工具开源:助力EmotiVoice数据共建 在虚拟主播能实时与粉丝互动、游戏角色会因剧情转折而语气颤抖的今天,语音合成早已不再是“把文字念出来”那么简单。用户期待的是有情绪、有性格、甚至能“共情”的声音。然而,要让机器发出真正…

张小明 2026/3/5 4:46:19 网站建设

常德网站建设设计国家企业公司网

5步精通Wan2.2:零基础玩转AI视频创作 【免费下载链接】Wan2.2-TI2V-5B Wan2.2-TI2V-5B是一款开源的先进视频生成模型,基于创新的混合专家架构(MoE)设计,显著提升了视频生成的质量与效率。该模型支持文本生成视频和图像…

张小明 2026/3/5 4:46:18 网站建设