ansible部署nginx

编写playbook源码编译安装nginx-1.16.1

  在实际生产中,当需要在多台远程主机上部署nginx的web服务,如果手动在每台机器上手动编译时,需要重复编译N多次,这样会做一些毫无意义的额外工作,效率低下,那有什么方法可以实现自动化的部署呢,有的人肯定想到编写脚本,这样也可以实现自动化安装部署,但是如果部署的机器数量达到一定量的时候,显然使用脚本部署就不合适,还有另外一种方法就是ansible了,ansible是提供了一种playbook的方法,可以将需要在某些机器上做的工作提前写在playbook里,playbook顾名思义就是“剧本”的意思,就像拍电影一样,当导演写好剧本后,演员可以安装剧本完成一段一段的桥段,不同的演员完成不同的角色的演绎,电影即是角色和桥段的集合,而ansible就类似于导演的作用,而playbook就是剧本,他提供了roles即角色,通过不同的角色创建,可以完成不同的工作。
  Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。值得注意的是playbook是通过YAML格式来进行描述定义的。

1.playbook简单介绍

1.1.playbook核心要素

Hosts: 执行的远程主机列表   
Tasks:任务,由模板定义的操作列表
Variables:变量
Templates:模板,即使用模板语法的文件
Handlers:处理器 ,当某条件满足时,触发执行的操作
Roles:角色

1.2.roles

/roles/project/ :项目名称,有以下子目录   
  files/ :存放由copy或script模块等调用的文件   
  templates/:template模块查找所需要模板文件的目录
  tasks/:定义task,role的基本元素,至少应该包含一个名为main.yml的文件; 其它的文件需要在此文件中通过include进行包含 
  handlers/:至少应该包含一个名为main.yml的文件;其它的文件需要在此 文件中通过include进行包含
  vars/:定义变量,至少应该包含一个名为main.yml的文件;其它的文件需要 在此文件中通过include进行包含 
  meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为main.yml的文件,其它文件需在此文件中通过include进行包含 
  default/:设定默认变量时使用此目录中的main.yml文件  

2.playbook部署nginx具体步骤

2.1.准备环境

ansible主机:centos7,ip=192.168.38.7/24
两台被控主机:centos7,ip1=192.168.38.17/24,ip2=192.168.38.37/24

2.2.实现ansible主控主机实现与远程主机基于key验证的免密登录

1.生成私钥:ssh-keygen

[root@centos7_v7 ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:B1FQfA0QBWMZW65LdbzjyseOZruRwLneU2u7bq87RYU root@centos7.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|        o=XB+o . |
|         oo=..E .|
|        . ..o o .|
|         o + . ..|
|        S B   o. |
|         o + o...|
|          o oo.o |
|         . o+
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值