当前位置: 首页 > news >正文

ansible部署nginx:1个简单的playbook脚本

文章目录

    • hosts--ventory
    • roles
    • 执行命令

使用ansible向3台centos7服务器上安装nginx

hosts–ventory

[root@stand playhook1]# cat /root/HOSTS 
# /root/HOSTS
[webservers]
192.168.196.111 ansible_ssh_pass=password
192.168.196.112 ansible_ssh_pass=password
192.168.196.113 ansible_ssh_pass=password[docker]
192.168.196.111
192.168.196.112
192.168.196.113[docker:vars]
ansible_ssh_pass=password[ansible:children]
docker

roles

.
├── roles
│   └── nginx
│       ├── files
│       │   └── index.html
│       ├── handlers
│       │   └── main.yaml
│       ├── tasks
│       │   └── main.yaml
│       ├── templates
│       │   └── nginx.conf.j2
│       └── vars
│           └── main.yaml
└── site.yml7 directories, 6 files

[root@stand playhook1]# cat roles/nginx/files/index.html

<html><head><title>Welcome to Nginx!</title></head><body><h1>Hello, Nginx is working!</h1></body>
</html>

[root@stand playhook1]# cat roles/nginx/handlers/main.yaml

---
- name: restart nginxservice:name: nginxstate: restarted

[root@stand playhook1]# cat roles/nginx/templates/nginx.conf.j2

user  nginx;
worker_processes  {{ ansible_processor_cores }};error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;# Gzip Settingsgzip  on;gzip_disable "msie6";include /etc/nginx/conf.d/*.conf;server {listen       80;server_name  {{ server_name }};location / {root   /usr/share/nginx/html;index  index.html index.htm;}# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}

[root@stand playhook1]# cat roles/nginx/vars/main.yaml

---
ansible_processor_cores: 2
server_name: localhost

[root@stand playhook1]# cat site.yml

---- hosts: webserversroles:- { role: nginx, version: "1.24.0" }

[root@stand playhook1]# cat roles/nginx/handlers/main.yaml

---
- name: restart nginxservice:name: nginxstate: restarted

[root@stand playhook1]# cat roles/nginx/tasks/main.yaml

---
- name: Add Nginx repositoryyum_repository:name: nginxdescription: Nginx Repositorybaseurl: http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck: yesenabled: yesgpgkey: https://nginx.org/keys/nginx_signing.key- name: Install nginx packageyum:name: "nginx-{{ version }}"state: present- name: Ensure Nginx html directory existsfile:path: /usr/share/nginx/htmlstate: directoryowner: nginxgroup: nginxmode: 0755- name: Copy nginx.conf Templatetemplate:src: nginx.conf.j2dest: /etc/nginx/nginx.confowner: rootgroup: rootbackup: yesmode: 0755notify: restart nginx- name: Copy index htmlcopy:src: index.htmldest: /usr/share/nginx/html/index.htmlowner: rootgroup: rootbackup: yesmode: 0755- name: Make sure nginx service is runningservice:name: nginxstate: started

执行命令

ansible-playbook -i /root/HOSTS site.yml

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
测试:
在这里插入图片描述

显示已经成功。


大功告成

相关文章:

ansible部署nginx:1个简单的playbook脚本

文章目录 hosts--ventoryroles执行命令 使用ansible向3台centos7服务器上安装nginx hosts–ventory [rootstand playhook1]# cat /root/HOSTS # /root/HOSTS [webservers] 192.168.196.111 ansible_ssh_passpassword 192.168.196.112 ansible_ssh_passpassword 192.168.196.1…...

三、汇总统计

1.SUM、COUNT、AVERAGE 注意&#xff1a;count函数是计算区域中包含数字的单元格的个数&#xff0c;以上案例中两个空白单元格和一个中文列标题都是没有计算在内的。 平均函数AVERAGE也是按照17进行求平均值的。所以在使用平均值的函数时候&#xff0c;可以根据实际情况看是…...

opencv实现给图像加上logo图像

要用Python和OpenCV给图片加上logo&#xff0c;可以按照以下步骤实现&#xff1a; 读取logo和image图片。 调整logo的大小以适应image。 将logo放置在image的指定位置。 将logo和image合并。 以下是实现代码&#xff1a; import cv2# 读取logo和image图片 logo cv2.imre…...

亚马逊云科技2024 re:Invent大会亮点:Nova大模型与AI基础设施全面升级

引言 作为云计算领域的年度盛会,亚马逊云科技(AWS)的re:Invent大会一直是业界瞩目的焦点。2024年的大会不负众望,推出了一系列重磅产品和服务,尤其是在人工智能和大模型方面的创新令人印象深刻。本文将为您深入解析此次大会的主要亮点,探讨AWS在AI时代的最新布局及其对行业的潜…...

总结与提升

今天学习了ai&#xff0c;对今天学习的内容进行总结。 本文参考chat gpt-4的训练文献。 模型架构基础 Transformer 架构&#xff1a;ChatGPT 采用了 Transformer 架构&#xff0c;这是一种基于自注意力机制的深度学习模型架构。它能够并行计算文本中的长期依赖关系&#xff…...

入门pytorch-Transformer

前言 虽然Transformer是2017年由Google推出&#xff0c;如果按照读论文只读近两年的思路看&#xff0c;那它无疑是过时的&#xff0c;但可惜的是&#xff0c;目前很多论文的核心依然是Transformer&#xff0c;或者由其进行改进的&#xff0c;故本文使用pytorch来搭建一下Trans…...

泛型编程--

auto自动推导数据类型 函数模板 定义和调用 函数模板具体化 函数模板通用版本之外的一个特殊版本 函数模板 具体化函数 &#xff0c;它们的声明和定义都可以分开写。 声明 定义 函数模板写变量 模板参数缺省 类成员函数作为函数模板 类构造函数是函数模板 函数模板重载 函数模…...

【大语言模型】LangChain 核心模块介绍(Agents)

【大语言模型】LangChain 核心模块介绍&#xff08;Agents&#xff09; 一、简介二、Agents 的核心概念三、实战案例3.1、需求说明3.2、实现思路3.3、完整源码 一、简介 我们都知道四肢的绝大部分动作都是由大脑决定的&#xff0c;大脑通过中枢神经下发自己的操作指令&#xf…...

19C-RAC 环境mgmtca.trc.1过大

客户监控告警/u01使用率超过80%&#xff0c;通过一层层目录查看&#xff0c;发现是mgmtca.trc.1过大导致的告警 [rootgsdb1 ~]# du -sh /u01/app/grid/cfgtoollogs/mgmtca/mgmtca.trc.1 103G /u01/app/grid/cfgtoollogs/mgmtca/mgmtca.trc.1 查看MOS文档&#xff1a;Huge …...

基于Spring Boot的同城宠物照看系统的设计与实现

一、摘要 在快节奏的现代生活中&#xff0c;宠物已成为许多家庭不可或缺的一部分。然而&#xff0c;宠物照看服务的需求也随之增长。为了满足这一需求&#xff0c;我们设计并实现了一款同城宠物照看系统&#xff0c;该系统利用Java技术和MySQL数据库&#xff0c;为用户提供一个…...

爬虫学习案例5

爬取b站一个视频 罗翔老师某一个视频很刑 单个完整代码&#xff1a; 安装依赖库 pip install lxml requests import osimport requests import re from lxml import etree import json # 格式化展开输出 from pprint import pprint # 导入进程模块 import subprocess head…...

视频监控汇聚平台方案设计:Liveweb视频智能监管系统方案技术特点与应用

随着科技的发展&#xff0c;视频监控平台在各个领域的应用越来越广泛。然而&#xff0c;当前的视频监控平台仍存在一些问题&#xff0c;如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果&#xff0c;也制约了视频监控平台的发展。 为了解决这些问…...

ansible自动化运维(三)jinja2模板roles角色管理

相关文章ansible自动化运维&#xff08;一&#xff09;简介及清单,模块-CSDN博客ansible自动化运维&#xff08;二&#xff09;playbook模式详解-CSDN博客ansible自动化运维&#xff08;四&#xff09;运维实战-CSDN博客 三.Ansible jinja2模板 Jinja2是Python的全功能模板引…...

队列+宽搜_429. N 叉树的层序遍历_二叉树最大宽度

429. N 叉树的层序遍历 定义一个队列q&#xff0c;将一层的节点入队&#xff0c;并记录节点个数。根据节点的个数&#xff0c;出队列&#xff0c;并将其孩子入队列。出完队列&#xff0c;队列当前剩余节点的个数就是下次出队列的次数。直到队列为空 /* // Definition for a Nod…...

Windows11安装及使用nvm

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Windows11安装nvm 前言一、简介二、下载三、安装1、双击运行&#xff0c;同意协议&#xff0c;点击Next2、选择nvm安装路径&#xff0c;此路径也是环境变量NVM_HOME的路径&am…...

(一)机器学习 - 入门

数据集 数据集是一组数据的集合&#xff0c;这些数据可以是数值型、文本型、图形型等多种形式。数据集通常用于统计分析、机器学习、科学研究、商业智能等领域&#xff0c;以发现数据中的模式、趋势和关联性。 数据集的组成&#xff1a; 变量&#xff08;Variables&#xff09;…...

【解决】k8s使用kubeadm初始化集群失败问题整理

执行提示命令&#xff0c;查看报错信息 journalctl -xeu kubelet1、错误&#xff1a;running with swap on is no 报错 "command failed" err"failed to run Kubelet: running with swap on is no 解决&#xff1a; swap未禁用&#xff0c;需要禁用swap&…...

apache-dubbo

dubbo 文档地址 dubbo 官方文档地址 https://dubbo.apache.org/zh-cn/docs/user/references/api.html nacos 官方文档地址 https://nacos.io/zh-cn/docs/quick-start.html nacos下载地址 https://github.com/alibaba/nacos/releases/download/2.3.0/nacos-server-2.3.0.…...

ECharts柱状图-柱图2,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个柱状图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供…...

【新人系列】Python 入门(十六):正则表达式

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12801353.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Python 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

AI Agent在保险行业的应用:风险评估、理赔自动化与客服

AI Agent在保险行业的应用&#xff1a;风险评估、理赔自动化与客服 核心概念 什么是AI Agent AI Agent&#xff08;人工智能代理&#xff09;并非一个全新的概念&#xff0c;但在大语言模型&#xff08;LLM&#xff0c;如GPT-4、Claude 3.5、通义千问、文心一言等&#xff09…...

Fix-Kindle-Ebook-Cover彻底解决Kindle电子书封面丢失问题:从根源修复到长效管理

Fix-Kindle-Ebook-Cover彻底解决Kindle电子书封面丢失问题&#xff1a;从根源修复到长效管理 【免费下载链接】Fix-Kindle-Ebook-Cover A tool to fix damaged cover of Kindle ebook. 项目地址: https://gitcode.com/gh_mirrors/fi/Fix-Kindle-Ebook-Cover Kindle电子书…...

前端项目云服务器(阿里云/腾讯云轻量应用服务器)部署 付费说明+使用说明

便宜稳定部署&#xff1a;云服务器极简方案&#xff08;付费&#xff0c;新手性价比首选&#xff09; 阿里云 / 腾讯云 轻量应用服务器&#xff0c;属于付费部署方案&#xff0c;但性价比极高&#xff0c;是三种方案中唯一能实现“永久在线、长期稳定运行”的部署方式&#xf…...

AnimateDiff文生视频提示词工程:动作敏感型Prompt结构设计与优化方法

AnimateDiff文生视频提示词工程&#xff1a;动作敏感型Prompt结构设计与优化方法 AnimateDiff 文生视频&#xff1a;基于 SD 1.5 Motion Adapter | 文本生成动态视频 (Text-to-Video) | 显存优化版 1. 项目简介 AnimateDiff是一个轻量级的AI视频生成工具&#xff0c;它最大的…...

RWKV7-1.5B-G1A快速部署:基于Docker和VS Code的远程开发环境搭建

RWKV7-1.5B-G1A快速部署&#xff1a;基于Docker和VS Code的远程开发环境搭建 1. 引言 如果你正在寻找一种高效的方式来搭建RWKV7-1.5B-G1A模型的开发环境&#xff0c;这篇教程正是为你准备的。我们将使用Docker和VS Code的远程开发功能&#xff0c;在星图GPU平台上快速搭建一…...

EcomGPT电商大模型部署案例:基于Docker镜像的免配置生产环境搭建

EcomGPT电商大模型部署案例&#xff1a;基于Docker镜像的免配置生产环境搭建 1. 项目概述 EcomGPT电商大模型是阿里巴巴IIC实验室专门为电商场景打造的多语言智能助手&#xff0c;基于EcomGPT-7B-Multilingual模型开发。这个模型经过电商领域的专门训练&#xff0c;能够理解商…...

亲测有效!5个无广告免费源码网 —— 会员源码网深度解析

在当今数字化时代&#xff0c;源码资源对于开发者、创业者和企业来说至关重要。一个优质的源码网站不仅能提供丰富的代码资源&#xff0c;还能促进技术交流和创新。今天&#xff0c;我要向大家推荐一个亲测有效的无广告免费源码网——会员源码网。会员源码网简介会员源码网是一…...

ANIMATEDIFF PRO应用案例:如何制作具有电影感的日落海滩动态壁纸

ANIMATEDIFF PRO应用案例&#xff1a;如何制作具有电影感的日落海滩动态壁纸 1. 为什么选择ANIMATEDIFF PRO制作动态壁纸 1.1 普通视频生成工具的局限 大多数视频生成工具在制作动态壁纸时面临三个主要问题&#xff1a; 动作不连贯&#xff1a;海浪拍打、云层移动等自然现象…...

告别PX4!用APM+Gazebo+SITL在Ubuntu 20.04上从零搭建无人机仿真环境(保姆级排坑实录)

告别PX4&#xff01;用APMGazeboSITL在Ubuntu 20.04上从零搭建无人机仿真环境&#xff08;保姆级排坑实录&#xff09; 当大多数无人机开发者还在PX4生态中挣扎于环境配置时&#xff0c;APM固件正以更轻量级的架构和灵活的扩展性悄然崛起。本文将带你跳出PX4的思维定式&#xf…...

OpenClaw会议纪要助手:Qwen3-14b_int4_awq自动生成会议摘要

OpenClaw会议纪要助手&#xff1a;Qwen3-14b_int4_awq自动生成会议摘要 1. 为什么需要自动化会议纪要 每次开完会最头疼的就是整理会议纪要。作为技术负责人&#xff0c;我每周要参加至少5场会议&#xff0c;从需求评审到技术方案讨论&#xff0c;经常一场会下来精疲力尽&…...