8.20 roles的基本用法+使用剧本安装nginx

安装nginx并更改其端口
创建目录

mkdir /etc/ansible/playbook

编辑配置文件

vim  /etc/ansible/palybook/nginx.yml

---

-      hosts:                               s

       remote_user:                    root

       tasks:

       -             name:                 卸载httpd

                     yum:                   name=httpd       state=absent

       -             name:                安装nginx

                     yum:                   name=nginx        state=present

       -             name:                 修改资源文件

                     shell:                    echo 'i am nginx' > /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

...

执行测试

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

roles的目录结构

创建roles的目录结构

[root@mo ~]# cd /etc/ansible/roles/
[root@mo roles]# ls
[root@mo roles]# mkdir nginx
[root@mo roles]# ls
nginx
[root@mo roles]# cd nginx/
[root@mo nginx]# mkdir files
[root@mo nginx]# mkdir tasks
[root@mo nginx]# mkdir handlers
[root@mo nginx]# mkdir templates
[root@mo nginx]# mkdir vars
[root@mo nginx]# mkdir meta
[root@mo nginx]# tree
.
├── files
├── handlers
├── meta
├── tasks
├── templates
└── vars

创建文件
[root@mo nginx]# touch handlers/main.yml
[root@mo nginx]# touch tasks/main.yml
[root@mo nginx]# touch vars/main.yml
[root@mo nginx]# touch meta/main.yml
[root@mo nginx]# tree
.
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
└── vars
    └── main.yml
编写配置文件

[root@mo nginx]# vim /etc/ansible/playbook/a.yml

---
-       hosts:          s
        remote_user:    root
        roles:
                -       nginx
...
[root@mo nginx]# ansible-playbook /etc/ansible/playbook/a.yml

[root@mo nginx]# ansible s -m yum -a 'name=nginx state=abs
ent'

使用剧本安装nginx
[root@mo nginx]# 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@mo nginx]# ansible-playbook /etc/ansible/roles/nginx/tasks/main.yml

使用role实现lnmp
nginx改配置8080

mariadbz中创建eleme数据库

创建表user

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

---
-       name:   卸载mariadb
        yum:    name=mariadb,mariadb-server,mariadb-devel      state=absent

-       name:   安装mariadb
        yum:    name=nginx,mariadb-server,mariadb-devel          state=present

-       name:   启动mariadb服务
        service:        name=nginx     state=started     enabled=yes

-      name:    执行脚本,创建数据库和数据表

       script: /etc/ansible/script/dbtable.sh
...

[root@mo ~]# cd /etc/ansible/

[root@mo ansible]# mkdir script

[root@mo script]# vim dbtable.sh

[root@mo script]# cd

[root@mo ~]# vim /etc/ansible/playbook/test003.yml

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Conda的Python版本管理与Python包管理

文章目录 前言Conda是什么Conda与Anaconda安装Anaconda安装包windows v2024.06-1安装包更多版本安装包(Windows/Mac/Linux) 安装添加环境变量安装过程中遇到的问题 使用步骤创建Python环境激活Python环境安装Python包列出和切换 Python 版本管理多个环境 总结 前言 开发环境中…

Java 数据结构和集合框架

数据结构 数据结构是计算机科学中用于组织、管理数据的一种特殊方式,它能够有效地存储和检索数据。在Java中,数据结构通常通过集合框架(Collection Framework)来实现,它提供了一系列接口和类来帮助我们高效地处理数据…

《计算机组成原理》(第3版)第8章 CPU的结构和功能 复习笔记

第8章 CPU的结构和功能 一、CPU的结构 (一)CPU的含义 CPU实质包括运算器和控制器两大部分。 对于冯诺依曼结构的计算机而言,一旦程序进入存储器后,就可由计算机自动完成取指令和执行指令的任务,控制器就是专用于完成…

ARCGIS PRO 要素标注背景色透明度的设置

使用ArcGIS Pro 设置标注背景色的透明度 一、点击标注属性 二、点击符号、注释 三、下拉框选择背景 四、背景符号 五、点击颜色 六、编辑颜色 七、应用

黑神话:悟空游戏用的什么服务器?

黑神话:悟空游戏用的什么服务器?《黑神话:悟空》游戏使用的是基于云计算的强大服务器,具体型号和配置未公开。这些服务器在游戏发布初期就表现出极强的处理能力和稳定性,尽管同时在线人数一度突破百万,但整…

开放式耳机的优缺点?这里有开放式耳机推荐品牌

随着开放式耳机功能的增加和创新,导致很多人不知道开放式耳机哪款好,开放式耳机和封闭式耳机的优缺点有哪些?还有就是开放式耳机漏音严重吗?等问题。下面我来跟大家一起了解了解开放式耳机为什么好,有哪些值得入手的。…

基于 ComfyUI 原生的 FLUX.1 分区域融合出图技巧,效果超级棒!

前言 今天给小伙伴们分享一下 ComfyUI 的原生的分区域融合出图技巧,不需要额外下载插件哦! 简单来介绍一下,就是把一张大图分割成几个部分,然后每个部分写自己区域的提示词,最终汇总融合成一张图片,可能不…

揭秘GPT-5,探索未来人工智能的无限可能

引言 在过去的几年里,人工智能领域的快速发展引发了全球范围内的广泛关注和讨论。作为这一浪潮的先锋,OpenAI 推出的 GPT 系列模型已经成为了生成式人工智能的代名词。随着 GPT-4 的发布,它在各种任务中表现出的强大能力进一步巩固了其在行业…

C# 不一样的洗牌算法---Simd指令

洗牌算法&#xff0c;以随机打乱数组中元素的位置 测试数据创建 int[] _data; Random rng new Random(); protected override void CreateData() {_data new int[_size];for (int i 0; i < _data.Length; i){_data[i] i;} } 普通打乱数组元素位置 protected overrid…

MySQL 索引合并优化实践

在生产环境的数据库中&#xff0c;经常会看到有些 SQL 的 where 条件包含&#xff1a;普通索引等值 主键范围查询 order by limit。明明走普通索引效率更高&#xff0c;但是选择走了索引合并&#xff0c;本文就对这种索引合并的情况研究一下。 作者&#xff1a;张洛丹&#x…

【Linux】Linux环境基础开发工具使用之Linux调试器-gdb使用

目录 一、程序发布模式1.1 debug模式1.2 release模式 二、默认发布模式三、gdb的使用结尾 一、程序发布模式 程序的发布方式有两种&#xff0c;debug模式和release模式 1.1 debug模式 目的&#xff1a;主要用于开发和测试阶段&#xff0c;目的是让开发者能够更容易地调试和跟…

JSON Web Token (JWT): 理解与应用

JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于在各方之间以JSON对象的形式安全地传输信息。JWT通常用于身份验证和授权目的&#xff0c;因为它可以使用JSON对象在各方…

【Python】函数进阶(中)

2、函数和函数名 函数名其实就是一个变量&#xff0c;这个变量只不过代指的是函数而已。 例如&#xff1a; 注意&#xff1a;函数必须先定义才能被调用执行&#xff08;Python是解释型语言&#xff0c;代码从上到下边解释边执行&#xff09; #正确代码 #错误代码 &#xff0…

20 数据可视化

20 数据可视化 本章概述一. `elasticsearch`实现数据统计1.1 创建用户信息索引1.1.1 控制台创建`aggs_user`索引1.1.2 `aggs_user`索引结构初始化1.1.3 创建`aggs_user`索引的`EO`对象1.1.4 用户类型枚举1.1.5 数据初始化****************************************************…

Redis中缓存穿透、缓存击穿、缓存雪崩的详解

如何理解Redis缓存的穿透、击穿、雪崩问题&#xff1a; 缓存穿透 是指缓存中和数据库中都没有数据&#xff0c;而用户不断访问&#xff0c;导致这个不存在的数据每次请求都要到存储层去查询&#xff0c;这样失去了意义。 缓存穿透的解决方案有哪些? 缓存null值布隆过滤增强…

C++观察者模式Observer

组件协作 –(都是晚绑定的&#xff09; ----观察者模式 为某些对象建立一种通知依赖的关系&#xff0c; 只要这个对象状态发生改变&#xff0c;观察者对象都能得到通知。 但是依赖关系要松耦合&#xff0c;不要太依赖。 eg&#xff1a;做一个文件分割器&#xff0c;需要一个…

基于ESP32的OEE分析开发板上MQTT协议的实现

整理自 《Implementation of MQTT Protocol on ESP32-Based OEE Analysis Development Board》&#xff0c;作者是Amir Akbar Wicaksono, Yuli Kurnia Ningsih, 和 Indra Surjati&#xff0c;发表于《MITOR: Jurnal Teknik Elektro》。论文讨论了在工业4.0背景下&#xff0c;通…

Centos7 message日志因dockerd、kubelet、warpdrive、containerd等应用迅速增长

问题&#xff1a;公司服务器在部署一套业务后&#xff0c;message日志记录大量的dockerd、kubelet、warpdrive、containerd应用日志&#xff0c;每天增加2G大小的日志 解决方案&#xff1a; 前期吐槽下&#xff1a;发现某个帖子&#xff0c;需要会员或者花钱才能看&#xff0c…

企业高性能web服务器知识点合集

文章目录 nginx源码编译安装平滑升级及版本回滚平滑升级版本回滚 服务启动脚本核心配置全局配置参数优化调整root与alias自定义错误日志自定义错误页面检测文件是否存在长链接配置下载服务器的配置 nginx高级配置nginx状态页面压缩功能变量内置变量自定义变量 nginx rewrite指令…

【软件测试面试题】WEB功能测试(持续更新)

Hi&#xff0c;大家好&#xff0c;我是小码哥。最近很多朋友都在说今年的互联网行情不好&#xff0c;面试很难&#xff0c;不知道怎么复习&#xff0c;我最近总结了一份在软件测试面试中比较常见的WEB功能测试面试面试题合集&#xff0c;希望对大家有帮助。 建议点赞收藏再阅读…