ansible Playbook案例 安装nginx

核心元素

Playbook的核心元素:
Hosts:主机组;
Tasks:任务列表;
Variables:变量,设置方式有四种;
Templates:包含了模板语法的文本文件;
Handlers:由特定条件触发的任务;


基本组件

Playbooks配置文件的基础组件:
Hosts:运行指定任务的目标主机
remote_user:在远程主机上执行任务的用户;
sudo_user: 通常用于表示在运行特定任务或命令时所使用的超级用户(superuser)或特权用户
tasks:任务列表
模块,模块参数

格式:     
(1) action: module arguments     
(2) module: arguments     
注意:shell和command模块后面直接跟命令,而非key=value类的参数列表;

handlers:任务,在特定条件下触发;接收到其它任务的通知时被触发;

(1) 某任务的状态在运行后为changed时,可通过“notify”通知给相应的handlers;

(2) 任务可以通过“tags“打标签,而后可在ansible-playbook命令上使用-t指定进行调用;

举例

① 定义playbook
先创建文件
在这里插入图片描述

命令行也 是可以创建文件的

# 创建文件
touch nginx.yml
# 使用vi 或者vim 进行编辑
vim nginx.yml

编辑nginx.yml

---
- hosts: web
  remote_user: root
  tasks:
    - name: install nginx
      yum: name=nginx state=present
    - name: copy nginx.conf
      copy: 
        src: /tmp/nginx.conf 
        dest: /etc/nginx/nginx.conf 
        backup: yes
      notify: reload   # 当 nginx.conf 发生改变时,通知给相应的 handlers
      tags: reloadnginx   # 打标签
    - name: start nginx service
      service: 
        name: nginx 
        state: started
      tags: startnginx   # 打标签

  handlers:  # 请确保这一行的缩进是一致的
    - name: reload
      service: 
        name: nginx 
        state: restarted  # 为了在进程中能看出来

注意缩进 注意缩进 注意缩进

运行前三部曲

# 检查错误
ansible-playbook nginx.yml --syntax-check

# 列出所有任务
ansible-playbook nginx.yml --list-task

# 列出在那些机器执行
ansible-playbook nginx.yml --list-hosts

# 运行
ansible-playbook nginx.yml

写完了以后,我们就可以运行了:

在这里插入图片描述


本章完结

相关推荐

  1. nginx 安装

    2024-03-23 10:30:03       56 阅读
  2. Nginx服务搭建案例

    2024-03-23 10:30:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 10:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 10:30:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 10:30:03       82 阅读
  4. Python语言-面向对象

    2024-03-23 10:30:03       91 阅读

热门阅读

  1. ssh介绍

    ssh介绍

    2024-03-23 10:30:03      35 阅读
  2. 55. 跳跃游戏

    2024-03-23 10:30:03       40 阅读
  3. web蓝桥杯2022省赛真题:冬奥大抽奖

    2024-03-23 10:30:03       46 阅读
  4. golang kafka sarama 源码解析

    2024-03-23 10:30:03       42 阅读
  5. 一些常用的用法

    2024-03-23 10:30:03       42 阅读
  6. IOS面试题编程机制 1-5

    2024-03-23 10:30:03       34 阅读
  7. 矩阵A的LU分解

    2024-03-23 10:30:03       47 阅读
  8. 深入理解 C#和Unity中的Null

    2024-03-23 10:30:03       40 阅读
  9. 20240322 大模型快讯

    2024-03-23 10:30:03       43 阅读
  10. 微信小程序网络请求封装API集中管理

    2024-03-23 10:30:03       41 阅读
  11. 蓝桥杯day8刷题日记--双子数,有奖问答

    2024-03-23 10:30:03       43 阅读
  12. MySQL-记

    MySQL-记

    2024-03-23 10:30:03      33 阅读