通过ansible角色roles全自动yum安装nginx

通过ansible角色roles全自动yum安装nginx

系统redhat7.3

分析手动nginx安装流程

我们要部署一个nginx服务,
具体要做的事:

1. 创建组group
group: nginx  
2. 创建用户user,将用户添加进group组中
user:nginx
3.安装nginx的包
yum: nginx
4.根据模版考一些配置文件进去
template: nginx.conf.j2
5.启动nginx服务
service: nginx

这个使用传统的一个剧本就可搞定
现在拆散了,考虑到以后要重复使用,所以这里就当角色来使用

如果这个配置文件又改,还涉及到handlers

在这里插入图片描述

在这里插入图片描述

将来要实现四个角色,现在先做一个普通角色nginx角色
做之前将这几个机器之前的nginx给卸载了:
```javascript
ansible testB -m shell -a "yum -y remove nginx"

在这里插入图片描述

现在发现testB主机组中的主机中没有nginx包

ansible testB -m shell -a "rpm -q nginx"

在这里插入图片描述

查看有没有nginx的帐号:

ansible testB -a "getent passwd nginx"

在这里插入图片描述

发现这里是有帐号的
帐号是在安装的时候生成的,所以在卸载的时候不会主动去删除帐号
的卸载卸载
在这里插入图片描述

包括组,也是有的
将用户和组删掉:
在这里插入图片描述

第二次重新安装时可以删除:
在这里插入图片描述

然后发现报错,报错说/var/cache/nginx这个目录不属于nginx,所以不能删除

所以我们查看这个目录:
在这里插入图片描述文件权限
在这里插入图片描述
在这里插入图片描述

可以看到这里的用户已经删除了,所以这里将这个目录直接删掉(不用在修改该目录和该目录下文件的属主和属组了)

chown username.groupname file|dir ##更改文件或者目录的所有人所有组

在这里插入图片描述
规划子目录:
上面是任务tasks,下面用到模版template
这里需要两个目录,一个放任务的,一个放模板的

cd ansible/roles/
cd nginx/

在这里插入图片描述
进到这个我们进到要创建的nginx角色的目录中去,在这些子目录下,继续按照自己的规则创建子目录,这些子目录的分类可以根据自己的情况来分类
在这里插入图片描述
这个图里圆形: 文件
方框: 目录

项目介绍

这个图就是一个角色编排端的文件夹结构,剧本文件userconf.yml将来要调用角色roles,这个角色roles是一个统一的文件夹,roles文件夹里有各自独立的文件夹。

这里图中的例子是git,我们这里配置的例子是httpd,memcache,mysql,nginx,实际上是类似的。

git是一个软件更新管理版本的软件,linux内核就是由git来进行管理的,linux的内核现在就是由git来进行版本控制的。

这里的git也是个角色名文件夹,就相当于我们这里的httpd,……,在git下面又创建了独立的文件夹tasks(任务),files(文件拷贝),vars(专门放变量),

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值