roles(角色)

news2024/9/22 17:32:03

创建目录,编写剧本下载nginx:

  184  mkdir /etc/ansible/playbook

  185  vim /etc/ansible/playbook/nginx.yml

---
-       hosts:  group
        remote_user:    root
        tasks:
        -       name:   卸载httpd
                yum:    name=httpd      state=absent
        -       name:   安装nginx
                yum:    name=nginx      state=present
        -       name:   修改配置文件
                shell:  echo 'i am nginx,port is 80' > /usr/share/nginx/html/index.html
        -       name:   修改端口
                command:        sed -i '/listen/s/80/8080/g' /etc/nginx/nginx.conf
                notify:
                -       restart nginx
        -       name:   启动服务
                service:        name=nginx   state=started  enabled=yes
        handlers:
                -       name:   restart nginx
                        service:        name=nginx      state=restarted


  186  ansible-playbook /etc/ansible/playbook/nginx.yml 
 

roles

roles(⻆⾊): 就是通过分别将variables, tasks及handlers等放置于单独的⽬录中,并可以便捷地调⽤它们的⼀种机制

files:⽤来存放由copy模块或script模块调⽤的⽂件。
tasks:⾄少有⼀个main.yml⽂件,定义各tasks。
handlers:有⼀个main.yml⽂件,定义各handlers。
templates:⽤来存放jinjia2模板。
vars:有⼀个main.yml⽂件,定义变量。
meta:有⼀个main.yml⽂件,定义此⻆⾊的特殊设定及其依赖关系。

注意: 在每个⻆⾊的⽬录中分别创建files, tasks,handlers,templates,vars和meta⽬录,⽤不到的⽬录可以创建 为空⽬录
[root@nat ~]# ls /etc/ansible/roles/
mariadb  nginx
[root@nat ~]# ls /etc/ansible/roles/nginx
files  handlers  meta  tasks  templates  vars
[root@nat ~]# ls /etc/ansible/roles/mariadb/
files  handlers  meta  tasks  templates  vars

 

用roles(角色)来下载nginx

创建roles的目录结构:

[root@nat ~]# cd /etc/ansible/roles
[root@nat roles]# ls
[root@nat roles]# mkdir nginx
[root@nat roles]# ls
nginx
[root@nat roles]# cd nginx/
[root@nat nginx]# mkdir files
[root@nat nginx]# mkdir tasks
[root@nat nginx]# mkdir handlers
[root@nat nginx]# mkdir templates
[root@nat nginx]# mkdir vars
[root@nat nginx]# mkdir meta

创建文件:

[root@nat nginx]# touch handlers/main.yml
[root@nat nginx]# touch tasks/main.yml
[root@nat nginx]# touch vars/main.yml
[root@nat nginx]# touch meta/main.yml

[root@nat nginx]# tree
.
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
└── vars
    └── main.yml

6 directories, 4 files
 

编辑文件:

[root@nat ~]# vim /etc/ansible/playbook/test002.yml

---
-       hosts:  group
        remote_user:    root
        roles:
                -       nginx
...

[root@nat ~]# ansible-playbook /etc/ansible/playbook/test002.yml

[root@nat ~]# tree /etc/ansible/roles
/etc/ansible/roles
└── nginx
    ├── files
    ├── handlers
    │   └── main.yml
    ├── meta
    │   └── main.yml
    ├── tasks
    │   └── main.yml
    ├── templates
    └── vars
        └── main.yml

[root@nat ~]# vim /etc/ansible/roles/nginx/tasks/main.yml 

---
-       name:   卸载httpd
        yum:    name=httpd      state=absent
-       name:   卸载nginx
        yum:    name=nginx      state=absent
-       name:   安装nginx
        yum:    name=nginx      state=present
-       name:   启动服务
        service:    name=nginx      state=started   enabled=yes
...


[root@nat ~]# ansible-playbook /etc/ansible/playbook/test002.yml

使用roles实现lnmp

nginx改配置8080

mariadb中创建eleme数据库,创建表user

[root@nat ~]# cd /etc/ansible/
[root@nat ansible]# mkdir script
[root@nat ansible]# cd script/
[root@nat script]# vim dbtable.sh

[root@nat script]# vim /etc/ansible/playbook/test003.yml

[root@nat script]# cd /etc/ansible/roles
[root@nat roles]# ls
nginx
[root@nat roles]# cp -r nginx mariadb
[root@nat roles]# ls
mariadb  nginx
[root@nat roles]# cd mariadb
[root@nat mariadb]# ls
files  handlers  meta  tasks  templates  vars
[root@nat mariadb]#  vim /etc/ansible/roles/mariadb/tasks/main.yml 

[root@nat]# ansible-playbook /etc/ansible/playbook/test003.yml 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2057562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL 09】复合查询 (带思维导图)

文章目录 🌈 一、准备工作🌈 二、多表查询⭐ 1. 多表笛卡尔积⭐ 2. 多表查询示例 🌈 三、自连接🌈 四、子查询⭐ 1. 标量子查询⭐ 2. 多行子查询 (需要插入其他博客的链接)⭐ 3. 多列子查询 (需要插入其他博客的链接)⭐ 4. 在 fro…

小米SU7销量超特斯拉,新车明年上半年发布

小米 SU7,一款国内新能源车品牌纯血新势力旗下首款轿车,上市短短 4 个月卖出超 4 万台,月均销量过万。 该说不说,这放在整个新能源汽车工业史上也足以称得上是一件小刀喇拍屁股,让人开了眼的事儿。 就在本月初&#x…

大模型在企业数智化转型中可以做哪些事情?

在数字化浪潮的推动下,企业数智化转型已成为不可逆转的趋势。作为人工智能技术的集大成者,大模型以其强大的数据处理能力、深度学习能力及广泛的应用场景,正逐步成为企业数智化转型的核心驱动力。 大模型:智能时代的基石 大模型…

Error: ReferenceError: ReadableStream is not defined

midway项目在build完,docker启动时,莫名地报错Error: ReferenceError: ReadableStream is not defined,之前一直好好地,初时以为是新加的代码引起,后来排除了。 报错如下: 2024-08-20 11:57:51.446 ERROR …

【教学类-76-01】20240820书包01(图案最大化)

背景需求 通义万相生成图片,把图案最大化的方法(切掉白边) 【教学类-75-01】20240817“通义万相图片最大化透明png”的修图流程-CSDN博客文章浏览阅读1.6k次,点赞56次,收藏17次。【教学类-75-01】20240817“通义万相…

Aseembly(八)-汇编语言编写程序

前言 在该系列的第六篇文章我们主要讲述了:关于栈的寄存器:SS和SP的问题 来回一下: 对于栈指针来说,栈在被开辟的时候,首先要通过SS指针去找到开辟栈的地址空间的首地址,随后,SP指针指向该栈空间的末尾的下一个空间处.当执行push指令时,sp会-2 随后将目标压入栈中 当执行pop指…

volta引发的血案

什么是volta volta用于做项目级别的node版本控制,当手头上的项目有多个时,且node版本可能还不一样,我们需要不断切换node版本。使用volta可以很好的解决这个问题。只需要安装volta,然后在下面的package.json中配置好node版本即可…

鸿蒙HarmonOS实战开发: CMake脚本编写构建NDK工程

NDK工程构建 HarmonyOS NDK默认使用CMake作为构建系统,随包提供了符合HarmonyOS工具链的基础配置文件ohos.toolchain.cmake,用于预定义CMake变量来简化开发者配置。 常用的NDK工程构建方式有: 从源码构建 源码构建也有不同方式:…

机器学习在智能复合材料中的应用与实践

在人工智能与复合材料技术融合的背景下,复合材料的研究和应用正迅速发展,创新解决方 案层出不穷。从复合材料性能的精确预测到复杂材料结构的智能设计,从数据驱动的材料结构优 化到多尺度分析,人工智能技术正以其强大的数据处理能…

深度学习设计模式之策略模式

文章目录 前言一、介绍二、特点三、详细介绍1.核心组成2.代码示例3.优缺点优点缺点 4.使用场景 总结 前言 策略模式定义一系列算法,封装每个算法,并使它们可以互换。 一、介绍 策略模式(Strategy Pattern)是一种行为型设计模式&…

Linux:网络基础概念

网络发展 独立模式: 计算机之间相互独立; 网络互联: 多台计算机连接在一起, 完成数据共享; 局域网 LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 广域网 WAN: 将远隔千里的计算机都连在一起; 所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如…

【C++ 第十四章】红黑树

前言: 学习本章,需要先学习 AVL树的 旋转,因为 红黑树也需要旋转调整来平衡,下面讲解将不赘述 旋转的原理和操作 红黑树的旋转 和 AVL树的旋转 唯一不同的是:旋转的判断使用逻辑 AVL树的旋转 可以通过 平衡因子 判断…

关于c++ grpc 和 c# grpc 通信的问题 以及 grpc 认证问题

一、c 和 c# 通信 c# 端服务器 如果域名 输入的是 https ,则 c 端需要匹配使用,也就是c 端需要进行安全认证。如果是http 则c 端不需要认证(基于c#的grpc 未 通信成功) 参考如下网址可以写一个简单的 .net grpc服务器 &#xff08…

基于java的综合小区管理系统论文.doc

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统综合小区管理系统信息管理难度大,容错率低&am…

diamond安装与使用

1.前言 diamond是一款用于蛋白质和翻译后DNA搜索的序列比对工具,专为大规模序列数据的高性能分析设计。其主要特点包括: - 与BLAST相比,蛋白质和翻译后DNA的成对比对速度快100倍至10000倍。 2. 参考 https://github.com/bbuchfink/diamond …

微知-lspci如何查看pcie设备树状结构(-t)

对于查看pcie设备列表除了看是否存在 还需要看拓扑结构。如何看? lspci -t以减号为分割说明 第一列数字是域段 和 bus id。比如0000:00中0000是域 00是busid 第二列 01.2中01是device id。2是functionid 如果还有下游设备device还有一个指定busid的序号

[数据集][目标检测]夜间老鼠检测数据集VOC+YOLO格式316张1类别+视频文件1个

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):316 标注数量(xml文件个数):316 标注数量(txt文件个数):316 标注类别…

I.MX6U交叉编译Qt项目-思维导图-学习笔记-基于正点原子阿尔法开发板

I.MX6U交叉编译Qt项目 安装交叉编译器 交叉编译器介绍 拷贝fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh至ubuntu 执行下面的指令修改脚本的权限,修改权限后可以看到此脚本颜色显示改变,说明修改成功 chmod…

理解Flink算子链

前言 对于flink初学者,如果我们观察WebUi中任务执行情况,可能会有一个疑惑,为什么节点和代码中的算子对不上? 从WebUi上看起来像是一个节点,会把转换处理的很多个任务都连接在一起,合并成了一个“大任务”。这又是怎么回事呢? 算子间的数据传输 我们先来考察一下算子…

Vue 旋转动画效果

目录 前言效果演示具体代码实现 前言 这里记录一个旋转动画&#xff0c;在鼠标经过的时候停止&#xff0c;鼠标离开继续旋转。 实现思路&#xff1a; 利用keyframes关键字定义一个旋转动画 效果演示 具体代码实现 <template><div class"container"><…