当前位置: 首页 > news >正文 昆明网站建设工作室有哪些网站的形成 news 2025/10/25 18:41:56 昆明网站建设工作室有哪些,网站的形成,寻加工厂合作订单,我公司让别人做网站了怎么办目录 一、ansible是什么#xff1f; 二、ansible的特点#xff1f; 三、ansible与其他运维工具的对比 四、ansible的环境部署 第一步#xff1a;配置主机清单 第二步#xff1a;完成密钥对免密登录 五、ansible基于命令行完成常用的模块学习 模块1#xff1a;comma…目录 一、ansible是什么 二、ansible的特点 三、ansible与其他运维工具的对比 四、ansible的环境部署 第一步配置主机清单 第二步完成密钥对免密登录 五、ansible基于命令行完成常用的模块学习 模块1command模块 模块2shell模块 模块3cron模块 模块4user模块 模块5group模块 模块6copy模块 模块7file模块 模块8hostname模块 模块9ping模块 模块10yum/apt模块 模块11service/systemd模块 模块12script模块 模块13mount模块 模块14archive模块 模块15unarchive模块 模块16replace模块 模块17setup模块 六、inventory 主机清单 一、ansible是什么 Ansible是一个基于Python开发的配置管理和应用部署工具现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点Pubbet和Saltstack能实现的功能Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。 二、ansible的特点 (1)、Ansible是基于模块工作的它只是提供了一种运行框架它本身没有完成任务的能力真正执行操作的是Ansible的模块 比如copy模块用于拷贝文件到远程主机上service模块用于管理服务的启动、停止、重启等。 (2)、Ansible其中一个比较鲜明的特性是Agentless即无Agent的存在它就像普通命令一样并非C/S软件也只需在某个作为控制节点的主机上安装一次Ansible即可。 (3)、ansible通常基于ssh连接来控制远程主机远程主机上不需要安装Ansible或其它额外的服务。 使用者在使用时在服务器终端输入命令或者playbooks会通过预定好的规则将playbook拆解为play再组织成ansible可以识别的任务调用模块和插件根据主机清单通过SSH将 临时文件发给远程的客户端执行并返回结果执行结束后自动删除 (4)、Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性指的是无论执行多少次同样的运算结果都是相同的即一条命令任意多次执行所产生的影响均与一次执行的影响相同。比如执行 systemctl stop xxx 命令来停止服务当发现要停止的目标服务已经处于停止状态它什么也不会做 所以多次停止的结果仍然是停止不会改变结果它是幂等的而 systemctl restart xxx 是非幂等的。 Ansible的很多模块在执行时都会先判断目标节点是否要执行任务所以可以放心大胆地让Ansible去执行任务重复执行某个任务绝大多数时候不会产生任何副作用。 三、ansible与其他运维工具的对比 四、ansible的环境部署 ansible的安装非常的简单只需要在控制节点安装ansible服务即可 //管理端安装 ansible yum install -y epel-release //先安装 epel 源 yum install -y ansible //ansible 目录结构 /etc/ansible/ ├── ansible.cfg #ansible的配置文件一般无需修改 ├── hosts #ansible的主机清单用于存储需要管理的远程主机的相关信息 └── roles/ #公共角色目录 准备实验环境 管理端192.168.20.15 ansible 被管理端 webserver192.168.20.12 192.168.20.17 dbserver192.168.20.16 第一步配置主机清单 //配置主机清单 cd /etc/ansible vim hosts [webservers] #配置组名 192.168.20.12 #组里包含的被管理的主机IP地址或主机名主机名需要先修改/etc/hosts文件 192.168.20.17[dbservers] 192.168.20.16 第二步完成密钥对免密登录 //配置密钥对验证 ssh-keygen -t rsa -P -f ~/.ssh/id_rsasshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno root192.168.20.17 sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno root192.168.20.12 sshpass -p 123 ssh-copy-id -o StrictHostKeyCheckingno root192.168.20.16 五、ansible基于命令行完成常用的模块学习 命令格式ansible 主机组名 -m 模块名 -a 模块参数 ansible-doc -l #列出所有已安装的模块按q退出 ansible-doc -l|wc -l #查看有多少模块 模块1command模块 command模块是ansible的默认模块在远程主机执行命令不支持管道重定向等shell的特性。ansible.cfg配置文件定义的 查看模块的参数 ansible-doc -s command #-s 列出指定模块的描述信息和操作动作 ansible 192.168.20.17 -m command -a date #指定 ip 执行 date ansible webservers -m command -a date #指定组执行 date ansible dbservers -m command -a date ansible all -m command -a date #all 代表所有 hosts 主机 ansible all -a ls / #如省略 -m 模块则默认运行 command 模块//常用的参数 chdir在远程主机上运行命令前提前进入目录 creates判断指定文件是否存在如果存在不执行后面的操作 removes判断指定文件是否存在如果存在执行后面的操作ansible all -m command -a chdir/home ls ./ chdir在远程主机上运行命令的前提进入目录 creates 判断指定文件是否存在 如果存在 不执行后面的操作 removes 判断指定文件知否存在 如果存在 执行后面的操作 模块2shell模块 支持管道符号等功能 在远程主机执行命令相当于调用远程主机的shell进程然后在该shell下打开一个子shell运行命令支持管道符号等功能 ansible-doc -s shell chdir在远程主机上运行命令的前提进入目录 creates 判断指定文件是否存在 如果存在 不执行后面的操作 removes 判断指定文件知否存在 如果存在 执行后面的操作 creates 判断 removes判断 模块3cron模块 在远程主机定义任务计划。其中有两种状态statepresent表示添加可以省略absent表示移除。 ansible-doc -s cron #查看模块常用的参数有哪些 //常用的参数 minute/hour/day/month/weekday分/时/日/月/周 job任务计划要执行的命令 name任务计划的名称 user指定计划任务属于哪个用户默认是root用户 假设 每周二的两点半去备份系统的日志 [rootlocalhost ansible]#ansible all -m cron -a minute30 hour2 weekday2 job/bin/cp -f /var/log/messages /opt/ namebackup_log每2个月的10号的早上晚上10点都完成一次系统日志的备份 想要删除计划性任务 cron 在远程主机设置crontab计划任务 minute hour day month weekday job name statepresent|absent cron 在远程主机设置crontab计划任务 minute hour day month weekday job name statepresent|absent 模块4user模块 //用户管理的模块 ansible-doc -s user 常用的参数有 name 表示用户名 必选的参数 statepresent 或 absent 表示创建账号或者删除账号 present表示创建 absent表示删除 systemyes或no 表示是否为系统账号 uid表示用户uid group用户基本组 groups用户附加组 shell默认的shell create_homeyes或no 表示是否创建家目录 password 用户的密码 建议使用加密后的字符串 remove为yes或no 当state为absent的时候 是否删除用户的家目录 ansible dbservers -m user -a nametest01 #创建用户test01 ansible dbservers -m command -a tail /etc/passwd ansible dbservers -m user -a nametest01 stateabsent #删除用户test01 [rootlocalhost ansible]#ansible dbservers -m user -a namenginx create_homeno shell/sbin/nologin #创建nginx用户 并不创建家目录 以及shell类型为不登陆[rootlocalhost ansible]#ansible dbservers -m user -a namelisi groupswheel uid1008 #创建lisi用户 其uid为1008 加入wheel组中 [rootlocalhost ansible]#ansible dbservers -m user -a namezhangsan password123456 user 在远程主机设管理用户账户 name uid group groups shell create_home remove statepresent|absent 模块5group模块 //用户组管理的模块 ansible-doc -s group ansible dbservers -m group -a namemysql gid306 systemyes #创建mysql组 ansible dbservers -a tail /etc/group ansible dbservers -m user -a nametest01 uid306 systemyes groupmysql #将test01用户添加到mysql组中 ansible dbservers -a tail /etc/passwd ansible dbservers -a id test01 模块6copy模块 将ansible主机的文件/目录/内容复制到远程主机 dest指出复制文件的目标及位置使用绝对路径如果源是目录指目标也要是目录如果目标文件已经存在会覆盖原有的内容src指出源文件的路径可以使用相对路径或绝对路径支持直接指定目录如果源是目录则目标也要是目录mode指出复制时目标文件的权限 owner指出复制时目标文件的属主group指出复制时目标文件的属组content指出复制到目标主机上的内容不能与src一起使用 在ansible主机上准备了nginx.service文件将其复制到远程主机的opt目录中 [rootlocalhost ansible]#ansible webservers -m copy -a srcnginx.service dest/opt/nginx.service mode777 ownerxueyin [rootlocalhost ansible]#ansible dbservers -m copy -a contenthelloworld dest/opt/hello.txt [rootlocalhost ansible]#ansible dbservers -m copy -a src/etc/yum.repos.d/ dest/opt/rh 模块7file模块 在远程主机管理文件/目录比如修改文件的权限 创建空目录 空文件 或者创建软连接等 [rootlocalhost ansible]#ansible dbservers -m file -a path/opt/hello.txt mode777 ownerxueyin给远程主机创建一个软连接文件 给远程主机创建一个空文件 或者一个空目录 删除远程主机上的某个文件或者目录 模块8hostname模块 在远程主机设置主机名 //用于管理远程主机上的主机名 ansible dbservers -m hostname -a namemysql01 模块9ping模块 //检测远程主机的连通性 ansible all -m ping ping可以快速检测与目标主机的连通性 模块10yum/apt模块 在远程主机上安装与卸载软件包 ansible-doc -s yum 在远程主机使用yum|apt-get管理软件包 常用的参数 name指定服务的名称 statepresent|absent|latest present表示当前absent表示删除 卸载 latest表示最新 模块11service/systemd模块 service|systemd 在远程主机使用systemctl管理服务状态 name被管理的服务名称 statestarted|stopped|restarted|reloaded 指定服务的状态动作包含启动关闭或者重启 enabledyes|no|true|false 指定开机是否自启runlevel如果设定了enabled开机自启去则要定义在哪些运行目标下自启动 模块12script模块 在远程主机执行ansible主机上的shell脚本 [rootlocalhost ansible]#ansible webservers -m script -a test.sh xueyin支持位置变量ansible主机上的脚本在远程主机上执行 模块13mount模块 挂载文件系统 //常用的参数src定义挂载设备的路径path定义挂载到哪个目录必须指定fstype指定挂载文件的系统类型必须指定xfs、iso9660、nfs...opts定义挂载的参数defaults、rw、ro...state定义挂载的状态mounted进行挂载修改/etc/fstab信息、absent永久性卸载并修改 /etc/fstab信息、unmounted临时卸载不修改/etc/fstab信息 比如挂载光盘镜像 比如创建一个新的硬盘挂载到/data空目录下 在这个基础上完成接挂载 永久解挂载 模块14archive模块 //打包压缩 ansible-doc -s archive //常用的参数path: 必须参数远程主机上需要被打包压缩的源文件/目录dest: 打包压缩后的包文件路径(包文件的父目录必须存在);如果包文件已存在则会被覆盖format: 指定压缩类型包括: bz2、gz默认、tar、xz、zipremoveyes|no: 是否删除源文件 假设需要通过ansible完成本地yum仓库 那么需要先把yum在线源打包压缩 注意 该模块的path支持通配符 如使用*.repo 该模块下如果是想要打包多个文件 那么需要每个文件写绝对路径用逗号隔开 模块15unarchive模块 解包解压缩 常用的参数copy默认为 copyyes 拷贝的文件从 ansible 主机复制到远程主机也就是说默认是从ansible主机解压文件到远程主机copyno 表示在远程主机上寻找源文件解压srctar包源路径可以是 ansible 主机上的路径也可以是远程主机上的路径如果是远程主机上的路径则需设置 copynodest解压后文件的目标绝对路径remote_src: 和 copy 功能一样且互斥设置 remote_srcyes 表示文件在远程主机上设置为 remote_srcno 表示文件在 ansible 主机上 将 ansible 主机的压缩文件拷贝到到远程主机并解压 [rootlocalhost ansible]#ansible webservers -m unarchive -a copyyes src/etc/ansible/nginx-1.24.0.tar.gz dest/opt/ 或者 [rootlocalhost ansible]#ansible webservers -m unarchive -a remote_srcno src/etc/ansible/nginx-1.24.0.tar.gz dest/opt/模块16replace模块 //类似于sed命令主要也是基于正则进行匹配和替换 ansible-doc -s replace //常用的参数:path必须参数指定要修改的文件regexp必须参数指定一个正则表达式replace替换regexp参数匹配到的字符串backupyes|no: 修改源文件前创建一个包含时间戳信息的备份文件before如果指定则仅替换/删除此匹配之前的内容可以和after参数结合使用after如果指定则仅替换/删除此匹配之后的内容可以和before参数结合使用owner修改文件用户名group修改文件组名mode修改文件权限 #匹配 333 并修改为 ccc ansible dbservers -m replace -a path/opt/test.txt regexp33 replacecc #匹配到任意一个或多个开头的行增加注释 ansible dbservers -m replace -a path/opt/test.txt regexp^(.*) replace#\1 #取消注释 ansible dbservers -m replace -a path/opt/test.txt regexp^#(.*) replace\1 #匹配以 a 开头的后面有一个或者多个字符的行并在前面添加 # 注释 ansible dbservers -m replace -a path/opt/test.txt regexp^(a.*) replace#\1 模块17setup模块 //facts 组件是用来收集被管理节点信息的使用 setup 模块可以获取这些信息 ansible-doc -s setup ansible webservers -m setup #获取mysql组主机的facts信息 ansible dbservers -m setup -a filter*ipv4 #使用filter可以筛选指定的facts信息 六、inventory 主机清单 //Inventory支持对主机进行分组每个组内可以定义多个主机每个主机都可以定义在任何一个或多个主机组内。 //如果是名称类似的主机可以使用列表的方式标识各个主机。 vim /etc/ansible/hosts [webservers] 192.168.20.11:2222 #冒号后定义远程连接端口默认是 ssh 的 22 端口 192.168.20.1[2:5] [dbservers] db-[a:f].example.org #支持匹配 a~f //inventory 中的变量 Inventory变量名 含义 ansible_host ansible连接节点时的IP地址 ansible_port 连接对方的端口号ssh连接时默认为22ansible_user 连接对方主机时使用的用户名。不指定时将使用执行ansible或ansible-playbook命令的用户ansible_password 连接时的用户的ssh密码仅在未使用密钥对验证的情况下有效 ansible_ssh_private_key_file 指定密钥认证ssh连接时的私钥文件 ansible_ssh_common_args 提供给ssh、sftp、scp命令的额外参数ansible_become 允许进行权限提升 ansible_become_method 指定提升权限的方式例如可使用sudo/su/runas等方式ansible_become_user 提升为哪个用户的权限默认提升为root ansible_become_password 提升为指定用户权限时的密码 1主机变量横向表示 [webservers] 192.168.20.11 ansible_port22 ansible_userroot ansible_passwordabc1234 2组变量纵向表示 [webservers:vars] #表示为 webservers 组内所有主机定义变量 ansible_userroot ansible_passwordabc1234 [all:vars] #表示为所有组内的所有主机定义变量 ansible_port22 3组嵌套 [nginx] 192.168.20.20 192.168.20.21 192.168.20.22 [apache] 192.168.20.3[0:3] [webs:children] #表示为 webs 主机组中包含了 nginx 组和 apache 组内的所有主机 nginx apache 文章转载自: http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.dansj.com.gov.cn.dansj.com http://www.morning.mgtrc.cn.gov.cn.mgtrc.cn http://www.morning.qttg.cn.gov.cn.qttg.cn http://www.morning.jkpnm.cn.gov.cn.jkpnm.cn http://www.morning.smj79.cn.gov.cn.smj79.cn http://www.morning.fplqh.cn.gov.cn.fplqh.cn http://www.morning.dglszn.com.gov.cn.dglszn.com http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn http://www.morning.xctdn.cn.gov.cn.xctdn.cn http://www.morning.mzkn.cn.gov.cn.mzkn.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.mmosan.com.gov.cn.mmosan.com http://www.morning.xkhhy.cn.gov.cn.xkhhy.cn http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.rqdx.cn.gov.cn.rqdx.cn http://www.morning.ltpph.cn.gov.cn.ltpph.cn http://www.morning.bssjp.cn.gov.cn.bssjp.cn http://www.morning.mgmyt.cn.gov.cn.mgmyt.cn http://www.morning.fssmx.com.gov.cn.fssmx.com http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.bpkqd.cn.gov.cn.bpkqd.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.mjctt.cn.gov.cn.mjctt.cn http://www.morning.wfbnp.cn.gov.cn.wfbnp.cn http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn http://www.morning.pwdgy.cn.gov.cn.pwdgy.cn http://www.morning.skwwj.cn.gov.cn.skwwj.cn http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn http://www.morning.cpfx.cn.gov.cn.cpfx.cn http://www.morning.jbpdk.cn.gov.cn.jbpdk.cn http://www.morning.jwmws.cn.gov.cn.jwmws.cn http://www.morning.lthgy.cn.gov.cn.lthgy.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.srbfp.cn.gov.cn.srbfp.cn http://www.morning.pjftk.cn.gov.cn.pjftk.cn http://www.morning.khfk.cn.gov.cn.khfk.cn http://www.morning.ryxyz.cn.gov.cn.ryxyz.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.cwrpd.cn.gov.cn.cwrpd.cn http://www.morning.bxbkq.cn.gov.cn.bxbkq.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.mpsnb.cn.gov.cn.mpsnb.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.nhzps.cn.gov.cn.nhzps.cn http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn http://www.morning.prjty.cn.gov.cn.prjty.cn http://www.morning.jcwrb.cn.gov.cn.jcwrb.cn http://www.morning.cltrx.cn.gov.cn.cltrx.cn http://www.morning.hlwzd.cn.gov.cn.hlwzd.cn http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn http://www.morning.bfrsr.cn.gov.cn.bfrsr.cn http://www.morning.nfbkp.cn.gov.cn.nfbkp.cn http://www.morning.fesiy.com.gov.cn.fesiy.com http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn http://www.morning.cmqrg.cn.gov.cn.cmqrg.cn http://www.morning.rwdbz.cn.gov.cn.rwdbz.cn http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn http://www.morning.tlyms.cn.gov.cn.tlyms.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.qxlyf.cn.gov.cn.qxlyf.cn http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn http://www.morning.prhqn.cn.gov.cn.prhqn.cn http://www.morning.wttzp.cn.gov.cn.wttzp.cn http://www.morning.phnbd.cn.gov.cn.phnbd.cn http://www.morning.flxqm.cn.gov.cn.flxqm.cn http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn http://www.morning.qsy37.cn.gov.cn.qsy37.cn http://www.morning.xdmsq.cn.gov.cn.xdmsq.cn http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn http://www.morning.phjny.cn.gov.cn.phjny.cn http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn 查看全文 http://www.tj-hxxt.cn/news/248893.html 相关文章: 网站seo描述网站建设标语 网站flash音乐播放器营销内容包括哪些方面 乔拓云智能建站官网登录入口360优化大师下载安装 网站制作的分割线怎么做上海网站建设求职简历 建设网站培训内存数据库 网站开发 如何优化网站性能产品软文范例大全 wordpress 多站点配置文件宁波网站建设费用是多少钱 dedecms部署两个网站建设德育网站的意义 建设p2p网站注册科技有限公司经营范围 soho做网站二级域名网站查询入口 深圳宝安医院的网站建设设计制作小车一微课 中小企业网站建设与管理 王耀在那些免费网站做宣传效果好 河南省网站制作公司阿里巴巴logo发展史 搭建网站都需要什么线上赚钱正规平台 服装私人订制网站济南公司快速建站 郑州做食用菌配送的网站中国建设招标网官方网站 网站备案WordPress添加用户组 成都设计网站的公司名称品牌查询 大同工程建设信息网淄博seo排名 百度知道灰色词代发收录网站seo关键词排名查询 做网站应该考虑哪些问题wordpress pk 大型网站为什么难做学校二级网站建设 wordpress开发网站软件开发用什么软件编程 wordpress 视频站模板下载失败大庆市网站建设公司 asp.net 4.0网站开发wordpress 中文 插件下载 承接网站开发 小程序开发wordpress js加载速度慢 成都网站建设收费明细前端电商网站设计论文 网站建设方案及报价模板wordpress主题logo修改 源码网站大淘客cms做网站数据需求分析 营销网站建设一薇房产发布网站建设