zoukankan      html  css  js  c++  java
  • 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、查看

     

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

  • 相关阅读:
    ubuntu 安装chrome浏览器
    ubuntu下Xmodmap映射Esc和Ctrl_L
    ubuntu 设置主屏和副屏
    maven 第一次运行报错
    Intellij Idea 配置并发布tomcat项目
    Nginx跨域设置
    Inotify+rsync实现实时数据同步
    Ubuntu-18.04设置开机启动脚本
    CentOS开机自启动/etc/rc.local不执行的解决办法
    ELK之使用kafka作为消息队列收集日志
  • 原文地址:https://www.cnblogs.com/fanren224/p/8511169.html
Copyright © 2011-2022 走看看