ansible roles实践——安装nginx

1、创建roles

在/etc/ansible/roles目录下

1.1 手动创建需要的目录

1.2 使用命令创建,用不到的目录可以创建为空目录,但不可以不创建。

创建目录
[root@master] /etc/ansible/roles$ mkdir /etc/ansible/roles/nginx/{files,templates,tasks,handlers,vars,defaults,meta} -p
创建main文件
[root@master] /etc/ansible/roles/nginx/defaults$ touch /etc/ansible/roles/nginx/{defaults,vars,tasks,meta,handlers}/main.yml

1.3 使用命令创建完整目录(推荐,简单)

[root@master] /etc/ansible/roles$ ansible-galaxy init nginx

1.defaults中存放默认的变量,可以通过jinja模板调用

2.files中存放文件、软件包、脚本等内容,可以被copy、unarchive、script等模块调用

3.handlers中存放依赖任务,可以被notify关键字调用,至少应该包含一个名为main.yaml的文件;

4.tasks中存放主任务,ansible会首先进行调用,至少包含一个名为main.yaml文件;至少应该包含一个名为main.yaml的文件;其他的文件需要在此文件中通过include进行包含

5.templates中存放模板文件,模板中可以使用jinja模板调用defaults中定义的变量,被templates模块调用

6.vars中存放变量,至少包含一个名为main.yaml的文件;

7.meta至少应该包含一个名为main.yaml的文件;定义当前角色的特殊设定及其依赖关系

2、编译安装nginx

安装nginx的过程包括复制安装脚本、运行安装脚本、复制配置文件、复制首页文件、启动、设置开机启动。这些任务环节。

所需各文件内容截图展示如下:

1、tasks主文件。

[root@master] /etc/ansible$ vim roles/nginx/tasks/main.yml 

2、安装脚本

[root@master] /etc/ansible$ cat roles/nginx/files/install_nginx.sh

3、配置文件

[root@master] /etc/ansible$ vim roles/nginx/files/nginx.conf 

4、首页文件

[root@master] /etc/ansible$ vim roles/nginx/templates/index.html.j2

添加一句your ip is {{ ansible_default_ipv4.address }}

5、playbook文件

 

 

6、执行

7、查看

 

分隔线------------------

posted @ 2018-03-05 20:32  fanren224  阅读(235)  评论(0编辑  收藏  举报