昆明网站建设yn119网络营销工具的定义

张小明 2026/3/2 21:27:11
昆明网站建设yn119,网络营销工具的定义,wordpress如何更新主题,google提交网站入口前言 在如今的IT环境中#xff0c;服务器数量越来越多#xff0c;业务流程也越来越复杂。如果还靠手工登录每台服务器操作#xff0c;不仅效率低#xff0c;还容易出错。这时候#xff0c;自动化运维工具就成了运维工程师的“救星”。 Ansible作为其中的佼佼者#xff0c…前言在如今的IT环境中服务器数量越来越多业务流程也越来越复杂。如果还靠手工登录每台服务器操作不仅效率低还容易出错。这时候自动化运维工具就成了运维工程师的“救星”。Ansible作为其中的佼佼者凭借简单易用、无需客户端、安全可靠的特点成为了很多人的首选。它不用在被管理的服务器上安装额外软件通过SSH就能实现集中管理哪怕是新手也能快速上手。今天我们就从基础到实战一步步带你认识和使用Ansible。一、Ansible 概述和运行机制1.1 Ansible 概述Ansible是一款面向类Unix系统的开源自动化工具用Python语言编写。和SaltStack、Puppet这些同类工具比它最大的优势就是“轻量级”——被管理的服务器被控端不需要安装任何客户端软件只要能通过SSH访问就行。它的核心特点特别好记部署简单只需要在一台管理机上安装Ansible被控端不用做任何配置通信安全基于SSH协议通信不用额外开放端口安全又可靠配置简单用YAML格式编写任务像写清单一样容易理解功能强大能实现软件安装、用户管理、服务配置等各种运维操作还支持云计算和大数据平台这里有个小知识点Ansible成立于2013年2015年被红帽公司以1-1.5亿美元收购背后有强大的技术支持。1.2 Ansible 工作机制Ansible的工作原理特别简单就像“快递员送货”管理员在管理端编写好要执行的任务比如安装软件、创建用户Ansible通过SSH协议把对应的“操作模块”相当于快递包裹推送到每台被控端服务器被控端执行完模块中的操作后会把结果反馈给管理端执行完成后模块会自动删除不会在被控端留下残留整个过程不用人工干预还能结合Git、SVN这些工具管理任务配置方便团队协作。1.3 Ansible 角色 (Role)刚开始用Ansible时任务少配置文件也简单。但随着服务器增多、任务变复杂配置文件会变得越来越臃肿不好维护。这时候“角色Role”就派上用场了。Role相当于把复杂的任务拆分成一个个独立的“功能模块”比如把“安装Nginx”“配置MySQL”分别做成独立的Role。这样做的好处是结构清晰方便管理和修改可以重复使用比如在多个项目中都用到Nginx配置直接调用现成的Role就行支持从外部加载任务和变量灵活适配不同场景每个Role都有固定的目录结构按照规范组织文件后续维护起来会省心很多。二、Ansible 环境安装部署2.1 环境规划我们以三台虚拟机为例搭建一个简单的Ansible环境具体规划如下节点类型IP地址角色描述管理端192.168.10.23安装Ansible统一管理其他服务器被管理端1192.168.10.14作为Web服务器归为webservers组被管理端2192.168.10.15作为数据库服务器归为dbservers组注意所有服务器都需要安装CentOS/RHEL系统并且能互相ping通。2.2 安装步骤Ansible只需要在管理端安装步骤很简单首先安装EPEL源因为Ansible不在CentOS默认的软件源里yuminstall-y epel-release安装Ansibleyuminstall-y ansible验证安装是否成功输入以下命令查看版本ansible --version如果能显示Ansible的版本信息就说明安装成功了。安装完成后Ansible会自动创建默认目录/etc/ansible/里面有三个重要的东西ansible.cfg主配置文件默认不用修改hosts主机清单用来记录被控端服务器的信息roles/存放Role的目录后续复杂任务会用到2.3 主机清单配置主机清单就是Ansible的“服务器通讯录”告诉它要管理哪些服务器以及这些服务器属于哪个组。编辑主机清单文件vim/etc/ansible/hosts在文件中添加以下内容把被控端按功能分组# Web服务器组命名为webservers [webservers] 192.168.10.14 # 数据库服务器组命名为dbservers [dbservers] 192.168.10.15保存退出后Ansible就知道要管理哪些服务器了。如果服务器的SSH端口不是默认的22还可以在IP后面加:端口号比如192.168.10.14:2222。2.4 SSH免密登录配置因为Ansible通过SSH通信为了避免每次执行任务都输入密码需要配置管理端到被控端的免密登录在管理端生成SSH密钥对一路按回车就行不用输入额外信息ssh-keygen -t rsa把公钥复制到两台被控端服务器替换成你的被控端IP和密码示例密码123456# 复制到webservers组的被控端sshpass -p123456ssh-copy-id root192.168.10.14# 复制到dbservers组的被控端sshpass -p123456ssh-copy-id root192.168.10.15测试免密登录是否成功比如登录到192.168.10.14sshroot192.168.10.14如果不用输入密码就能登录就说明配置成功了。三、Ansible 基础命令及模块操作3.1 基本命令格式Ansible的命令格式很固定记住这个公式就能灵活使用ansible目标主机/组-m模块名-a模块参数目标主机/组可以是单个IP比如192.168.10.14、组名比如webservers也可以用all表示所有被控端-m 模块名指定要使用的模块比如安装软件用yum模块如果省略这个参数默认使用command模块-a 模块参数模块的具体参数比如要安装的软件名、要执行的命令另外想查看某个模块的用法可以用ansible-doc -s 模块名比如ansible-doc -s yum就能查看yum模块的使用说明。3.2 常用模块详解Ansible有很多模块每个模块对应不同的功能下面介绍最常用的13个模块每个模块都配了简单的示例拿来就能用。3.2.1 command 模块功能在被控端执行简单命令不支持管道|、重定向这些Shell特性示例# 查看webservers组所有服务器的当前时间ansible webservers -mcommand-adate# 查看所有被控端的/目录下的文件省略-m默认用command模块ansible all -als /# 执行命令前先切换到/home目录ansible all -mcommand-achdir/home ls ./3.2.2 shell 模块功能和command模块类似但支持管道、重定向等Shell特性适合执行复杂命令示例# 给dbservers组的test用户设置密码123456ansible dbservers -m shell -aecho 123456 | passwd --stdin test# 获取被控端的IP地址通过管道命令筛选ansible dbservers -m shell -aifconfig ens33 | awk NR2 {print \$2}注意如果命令里有$符号需要加\转义否则会出错。3.2.3 cron 模块功能管理被控端的计划任务比如定时执行脚本、备份数据常用参数minute/hour/day/month/weekday分/时/日/月/周*/1表示每分钟0 3 * * *表示每天凌晨3点job要执行的任务命令name计划任务的名称方便后续删除或修改statepresent添加任务默认或absent删除任务示例# 给webservers组添加每分钟执行的任务输出helloworldansible webservers -mcron-aminute*/1 job/bin/echo helloworld nametest_cron# 查看webservers组的计划任务ansible webservers -acrontab -l# 删除刚才添加的计划任务通过名称匹配ansible webservers -mcron-anametest_cron stateabsent3.2.4 user 模块功能管理被控端的系统用户创建、删除、修改用户信息常用参数name用户名必填statepresent创建用户或absent删除用户uid用户IDgroup用户所属的基本组示例# 给dbservers组创建test01用户ansible dbservers -m user -anametest01# 查看是否创建成功查看/etc/passwd文件末尾ansible dbservers -atail /etc/passwd# 删除test01用户不删除家目录ansible dbservers -m user -anametest01 stateabsent3.2.5 group 模块功能管理被控端的系统用户组创建、删除用户组示例# 给dbservers组创建mysql用户组GID306ansible dbservers -m group -anamemysql gid306 systemyes# 把test01用户添加到mysql组ansible dbservers -m user -anametest01 groupmysql# 验证用户组配置ansible dbservers -aid test013.2.6 copy 模块功能把管理端的文件复制到被控端或者直接在被控端创建文件并写入内容常用参数src管理端的文件路径要复制的文件dest被控端的目标路径绝对路径content直接写入被控端文件的内容和src不能同时使用owner目标文件的属主mode目标文件的权限比如640、755示例# 把管理端的/etc/fstab文件复制到dbservers组的/opt目录下并重命名为fstab.bakansible dbservers -m copy -asrc/etc/fstab dest/opt/fstab.bak ownerroot mode640# 直接在webservers组的/opt目录下创建hello.txt文件写入内容helloworldansible webservers -m copy -acontenthelloworld dest/opt/hello.txt3.2.7 file 模块功能管理被控端的文件属性修改属主、权限、创建/删除文件、创建软链接等示例# 修改/opt/fstab.bak的属主为test01属组为mysql权限为644ansible dbservers -mfile-aownertest01 groupmysql mode644 path/opt/fstab.bak# 给/opt/fstab.bak创建软链接/opt/fstab.linkansible dbservers -mfile-apath/opt/fstab.link src/opt/fstab.bak statelink# 在被控端创建abc.txt文件ansible all -mfile-apath/opt/abc.txt statetouch# 删除abc.txt文件ansible all -mfile-apath/opt/abc.txt stateabsent3.2.8 hostname 模块功能修改被控端的主机名示例# 把dbservers组的被控端主机名改为mysql01ansible dbservers -mhostname-anamemysql01# 验证主机名是否修改成功ansible dbservers -ahostname3.2.9 ping 模块功能检测管理端和被控端的连通性最常用的测试模块示例# 测试所有被控端的连通性ansible all -mping如果输出ping: pong说明连通正常如果报错需要检查SSH配置或网络连接。3.2.10 yum 模块功能管理被控端的RPM软件包安装、卸载软件示例# 给webservers组安装Apache服务httpdansible webservers -m yum -anamehttpd# 卸载webservers组的httpd服务ansible webservers -m yum -anamehttpd stateabsent3.2.11 service/systemd 模块功能管理被控端的系统服务启动、停止、重启、设置开机自启常用参数name服务名称比如httpd、mysqlstatestarted启动、stopped停止、restarted重启enabledyes开机自启、no不开机自启示例# 启动webservers组的httpd服务并设置开机自启ansible webservers -mservice-anamehttpd statestarted enabledyes# 查看httpd服务状态ansible webservers -asystemctl status httpd# 重启httpd服务ansible webservers -mservice-anamehttpd staterestarted3.2.12 script 模块功能在所有被控端批量执行管理端的Shell脚本不用把脚本传到被控端Ansible会自动处理示例在管理端创建一个测试脚本test.shvimtest.sh写入以下内容#!/bin/bashechohello ansible from script/opt/script.txt给脚本添加执行权限chmodx test.sh在webservers组的被控端执行这个脚本ansible webservers -m script -atest.sh验证执行结果查看被控端的/opt/script.txt文件ansible webservers -acat /opt/script.txt3.2.13 setup 模块功能收集被控端的系统信息比如IP地址、内存大小、磁盘信息等示例# 收集所有被控端的详细信息ansible all -m setup# 只收集被控端的IP地址信息通过filter筛选ansible all -m setup -afilter*ipv4# 只收集被控端的内存信息ansible all -m setup -afilteransible_memory_mb四、Inventory 主机清单与变量配置4.1 主机分组管理Inventory支持灵活的主机分组除了前面提到的固定IP分组还可以用“范围匹配”的方式批量添加主机适合服务器数量多的场景。示例# Web服务器组包含192.168.10.12、192.168.10.13、192.168.10.14、192.168.10.15 [webservers] 192.168.10.1[2:5] # 数据库服务器组包含db-a.example.org到db-f.example.org [dbservers] db-[a:f].example.org这样就不用一个个写IP或主机名大大减少了配置量。4.2 Inventory变量配置有时候不同的被控端可能有不同的SSH配置比如端口、用户名、密码这时候可以通过变量来设置不用每次执行命令都指定参数。4.2.1 主机变量配置直接在主机后面添加变量只对该主机生效[webservers] # 该主机的SSH端口是2222用户名root密码123456 192.168.10.14 ansible_port2222 ansible_userroot ansible_password1234564.2.2 组变量配置给整个组设置变量组内所有主机都生效[webservers] 192.168.10.14 192.168.10.15 # webservers组的所有主机共用这些变量 [webservers:vars] ansible_userroot ansible_password123456 # 所有组的主机共用的变量全局变量 [all:vars] ansible_port224.2.3 组嵌套配置如果有多个小组想把它们归为一个大组统一管理可以用组嵌套通过children关键字实现# 定义两个小组nginx组和apache组 [nginx] 192.168.10.20 192.168.10.21 [apache] 192.168.10.30 192.168.10.31 # 把nginx和apache组嵌套成webs大组 [webs:children] nginx apache之后执行命令时用webs作为目标组就能管理所有nginx和apache组的主机了# 查看webs大组所有主机的时间ansible webs -adate总结Ansible作为一款简单强大的自动化运维工具能帮我们解决重复的运维工作提高效率、减少错误。通过本文的介绍你应该已经掌握了Ansible的核心概念、环境搭建、常用模块和主机清单配置。它的优势很明显不用装客户端、配置简单、基于SSH安全可靠哪怕是新手也能快速上手。而且它的模块非常丰富几乎能覆盖所有日常运维场景从软件安装、用户管理到服务配置、任务调度都能轻松实现。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新余市建设局网站荆门哪里做网站

OpenModScan:工业自动化必备的免费Modbus主站调试工具完全指南 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan是一款功能强大的免费开源Modbus…

张小明 2026/3/1 15:39:17 网站建设

做网站 一级 二级网站开发连接形式

车辆行为模型 在介观交通流仿真软件中,车辆行为模型是核心组成部分之一,它负责模拟车辆在交通网络中的动态行为。这些行为包括加速、减速、变道、跟车等,通过这些行为模型,可以更加真实地反映交通流的复杂性。本节将详细介绍车辆行…

张小明 2026/3/1 18:38:45 网站建设

点胶喷嘴技术支持东莞网站建设门户网站建设情况说明

Ventoy启动菜单乱序问题诊断与精准控制方案 【免费下载链接】Ventoy 一种新的可启动USB解决方案。 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 问题诊断:为什么启动菜单会乱序? 在使用Ventoy制作多系统启动U盘时,很多…

张小明 2026/3/2 6:41:44 网站建设

公司网站开发交接注意事项襄阳做淘宝网站推广

基于过往业务的个人技术日志—第一天 业务背景回顾 今天开始整理过往参与的核心项目技术细节,第一个回顾的是2022年Q2负责的电商促销系统性能优化项目。该系统承载公司618大促活动,峰值QPS需支撑5万,原系统在压测时出现响应延迟飙升和数据库连…

张小明 2026/3/1 13:56:55 网站建设

网站手机端打不开代理网络游戏平台

. 暂时关闭Liquid Glass 液态玻璃在iOS26中,系统默认开启了Liquid Glass 液态玻璃效果。例如UINavigationBar和UITabBar等,并且是强制性的。但是在项目紧急上线,适配没有做好的情况可以暂时关闭这个效果。当然苹果也给了最终限制,…

张小明 2026/3/1 19:03:32 网站建设

养生网站源码下载wordpress简历

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertation 答辩前一周,张楠的论文还停留在 “摘要写了 3 版,导师说‘像读后感’” 的阶段 ——…

张小明 2026/3/2 11:33:07 网站建设