当前位置: 首页 > 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…...

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…...

前端面试准备问题2

1.防抖和节流分别是什么&#xff0c;应用场景 防抖&#xff1a;在事件被触发后&#xff0c;只有在指定的延迟时间内没有再次触发&#xff0c;才执行事件处理函数。 在我的理解中&#xff0c;简单的说就是在一个指定的时间内&#xff0c;仅触发一次&#xff0c;如果有多次重复触…...

uni-app之web-view组件 postMessage 通信【跨端开发系列】

&#x1f517; uniapp 跨端开发系列文章&#xff1a;&#x1f380;&#x1f380;&#x1f380; uni-app 组成和跨端原理 【跨端开发系列】 uni-app 各端差异注意事项 【跨端开发系列】uni-app 离线本地存储方案 【跨端开发系列】uni-app UI库、框架、组件选型指南 【跨端开…...

IntelliJ IDEA 使用技巧与插件推荐

目录 常用使用技巧 1. 使用快捷键提升开发效率 2. 多光标编辑 3. 代码自动补全 4. 使用 Find Action 快速执行操作 5. 集成版本控制系统&#xff08;VCS&#xff09; 6. 快速查看代码文档 推荐插件 1. Lombok Plugin 2. Rainbow Brackets 3. Key Promoter X 4. Chec…...

zookeeper基础命令详解

zookeeper基础命令详解目录 文章目录 zookeeper基础命令详解目录一、列出所有基础命令 一、列出所有基础命令 先启动一个zookeeper客户端连接zookeeper&#xff0c;如果还没有启动zookeeper集群的参考本文启动之后再做后续操作。 https://blog.csdn.net/weixin_42924400/artic…...

2025周易算命网站搭建详细方法+源码选择php环境的配置

以下是一个详细的搭建教程&#xff0c;包括网站分类、环境配置、程序设计和功能实现。 1. 环境准备 1.1 服务器选择 操作系统: Linux&#xff08;推荐使用Ubuntu或CentOS&#xff09;Web服务器: Nginx数据库: MySQLPHP版本: 7.4.x&#xff08;确保小于8.0&#xff09; 1.2 安…...

16:00面试,16:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

《杨辉三角》

题目描述 给出 n(1≤n≤20)n(1≤n≤20)&#xff0c;输出杨辉三角的前 nn 行。 如果你不知道什么是杨辉三角&#xff0c;可以观察样例找找规律。 输入格式 无 输出格式 无 输入输出样例 输入 #1复制 6 输出 #1复制 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 C语言…...

2024年03月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析

青少年软件编程(Python)等级考试试卷(五级) 分数:100 题数:38 一、单选题(共25题,共50分) 1. 以下代码的输出结果是?( ) nums = list(range(100, 201)) print...

【游戏设计原理】7 - 加德纳的多元智能理论

虽然多元智能理论是对认知方式的分类&#xff0c;但它也可以为游戏设计提供丰富的思路和策略&#xff0c;帮助设计师创建更具吸引力、包容性和多样性的游戏。通过理解不同玩家的认知方式和优势&#xff0c;我们可以更精准地设计游戏的元素和玩法&#xff0c;使其能够吸引广泛的…...

Jackson @JsonProperty 注解

1. 概述 Jackson 是一个流行的Java库&#xff0c;用于将Java对象转换为JSON格式以及从JSON反序列化回Java对象。一种常见的需求是在序列化为JSON或从JSON反序列化时自定义字段的命名。Jackson 的 JsonProperty 注解正好满足了这一需求。 JsonProperty 注解概览 JsonProperty…...

【数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;编写一个程序实现链栈的基本运算。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 初始化栈、销毁栈、判断栈是否为空、进栈、出栈、取栈…...

数据库乐观锁和悲观锁、redis分布式锁使用场景

前言 最近发现我们同事&#xff0c;但凡需要加锁的地方都用的是分布式锁。而且我们的后台系统&#xff0c;并没有什么并发量&#xff0c;而且还是单体应用。我真的有点怀疑我的同事不太清楚数据乐观锁、悲观锁和redis分布式的使用场景。 请今天就说一下各种锁的应用场景吧。 …...

React的状态管理库-Redux

核心思想&#xff1a;单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store&#xff08;存储&#xff09; 应用的唯一状态容器&#xff0c;存储整个应用的状态树,使用 createStore() 创建。 getState()&#xff1a;获取当前状态。dispatch(action)&#xff…...

《自制编译器》--青木峰郎 -读书笔记 编译hello

在该书刚开始编译hello.cb时就遇到了问题。 本人用的是wsl&#xff0c;环境如下&#xff0c; 由于是64位&#xff0c;因此根据书中的提示&#xff0c;从git上下载了64位的cb编译器 cbc-64bit 问题一: 通过如下命令编译时,总是报错。 cbc -Wa,"--32" -Wl,"-…...

XSS(跨站攻击)

XSS漏洞&#xff08;跨站脚本&#xff09; 1.XSS 漏洞简介 ​ XSS又叫CSS&#xff08;Cross Site Script&#xff09;跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码&#xff0c;当用户浏览该页之时&#xff0c;嵌入其中Web里面的Script代码会被执行&#xff0c;从…...

华为自反ACL实验

一、实验背景 做这个实验的原因是最近公司里上了三台小程序服务器&#xff0c;由于三台服务器的端口都映射出去了&#xff0c;领导要求A网段的三台服务器不能访问内网B&#xff0c;C网段&#xff0c;同时B、C网段内网用户可以访问A段的94、95、96服务器&#xff1b; 也就是PC4\…...

MyBatisPlus实现多表查询

在MyBatisPlus中实现多表查询&#xff0c;主要有以下几种方法&#xff1a; 使用注解进行多表查询&#xff1a; 你可以在Mapper接口中使用Select注解来编写SQL查询语句&#xff0c;实现多表查询。例如&#xff0c;如果你想根据用户ID查询用户信息和对应的区域名称&#xff0c;可…...

【人工智能-中级】循环神经网络(RNN)与Transformer在自然语言处理中的进阶应用

循环神经网络(RNN)与Transformer在自然语言处理中的进阶应用 自然语言处理(NLP)是人工智能领域中的重要分支,其主要任务是使计算机能够理解、生成和处理人类语言。近年来,循环神经网络(RNN)和Transformer模型已成为NLP领域的两大核心技术。本文将探讨这两类模型在自然…...

ZED相机应用

下载SDK wget https://stereolabs.sfo2.cdn.digitaloceanspaces.com/zedsdk/3.6/ZED_SDK_Ubuntu18_cuda11.5_v3.6.5.run 安装 ./ZED_SDK_Ubuntu18_cuda11.5_v3.6.5.run skip_python 测试 cd /usr/local/zed/tools ls ZED_Calibration ZED_Depth_Viewer ZED_Diagnostic ZED_E…...

大模型呼入机器人如何赋能呼叫中心?(转)

大模型呼入机器人如何赋能呼叫中心&#xff1f;(转) 原作者&#xff1a;开源呼叫中心FreeIPCC 大模型呼入机器人在赋能呼叫中心方面发挥着重要作用&#xff0c;主要体现在以下几个方面&#xff1a; 一、提升服务效率与质量 24小时不间断服务&#xff1a; 大模型呼入机器人能…...

基于Python对xslxslx文件进行操作

利用python操作表格文件 读取xsl格式文件-源码 import xlrd# 读取xls文件中的工作对象 wb xlrd.open_workbook(示例文件/xxx物理学与信息技术学院.xls) print(wb)# 获取所有的工作表名称 sheet_names wb.sheet_names() # print(sheet_names)# 选择要读取的具体工作表对象 s…...

预处理器Stylus的介绍及使用,并同Less、Sass进行对比(简单介绍)

目录 一、安装与配置 安装Node.js&#xff1a; 安装Stylus&#xff1a; 配置Webpack&#xff1a; 二、编写Stylus代码 定义变量&#xff1a; 使用变量&#xff1a; 嵌套语法&#xff1a; 混合&#xff08;Mixins&#xff09;&#xff1a; 函数&#xff1a; 6.关键字参…...

ansible自动化运维(四)jinjia2模板

Jinjia2模板 前面说到playbook组成的时候&#xff0c;有介绍到template模块&#xff0c;而template模块对模板文件进行渲染时&#xff0c;使用的就是jinja2模板引擎&#xff0c;jinja2本身就是基于python的模板引擎&#xff0c;所以下面先来了解一下jinjia2模板的一些用法 基…...

ubuntu系统的docker安装(2)

查看系统版本 lsb_release -asudo systemctl status docker查看docker是否安装成功 docker pull拉取镜像不成功/docker run不成功 可能有多种原因&#xff1a;网络链接不稳定&#xff0c;没有重启docker&#xff0c;可以先将docker源设置为国内镜像源 sudo systemctl rest…...

.Net C#医院检验系统源码,实验室管理信息LIS系统

LIS系统源代码&#xff0c;.Net C#医院检验系统源码&#xff0c;三级医院应用案例&#xff0c;自主版权&#xff0c;适合二次开发上项目。 本套实验室管理信息LIS系统采用.Net C#语言开发&#xff0c;用C/S架构。支持DB2,Oracle,MS SQLServer等主流数据库。可根据医院情况配置…...

STM32-FATFS文件系统

一、FATFS文件系统介绍&#xff1a; FATFS 是一个完全免费开源的 FAT/exFAT 文件系统模块&#xff0c;专门为小型的嵌入式系统而设计。它完全用标准 C 语言&#xff08;ANSI C C89&#xff09;编写&#xff0c;所以具有良好的硬件平台独立性&#xff0c;只需做简单的修改就可以…...

【多模态】swift框架使用qwen2-vl

前言 前几篇里面学习了常见的一些多模态模型的典型架构和源代码&#xff0c;上一篇里面测试使用了minicpm-v系列模型&#xff0c;在尝试RLHF的时候发现swift特别好用特别全&#xff0c;记录一下对swift的一些使用&#xff0c;欢迎批评指正&#xff5e;   前一篇里面写了minic…...

什么是全局对象和全局变量

在JavaScript中&#xff0c;全局对象和全局变量是两个重要的概念&#xff0c;它们与代码的执行环境和作用域紧密相关。 全局对象 全局对象&#xff08;Global Object&#xff09;是在代码的任何地方都能访问到的对象。在浏览器环境中&#xff0c;全局对象通常是window对象&…...

【收藏】Cesium billboard添加icon图片、label文字带背景图片(使用canvas绘制实现,附完整源码,vue2或vue3+vite都适用)

1.效果 在项目开发过程中&#xff0c;有一个需求是有若干个需要展示的点&#xff0c;每个点icon不一样、对应的广告牌文字不一样、并且文字还需要有图片背景、每个文字背景也不同&#xff08;抓狂&#xff09;。这种需求只能编写canvas来绘制“icon文字背景文字”的image&#…...

【安卓开发】【Android Studio】启动时报错“Unable to access Android SDK add-on list”

一、问题描述 在启动Android Studio时&#xff0c;软件报错&#xff1a;Unable to access Android SDK add-on list&#xff0c;报错截图如下&#xff1a; 二、原因及解决方法 初步推测是由于网络节点延迟&#xff0c;无法接入谷歌导致的。点击Cancel取消即可。...

前缀和的两种构造方法

方法1 public preSum(int[] nums) {// preSum[0] 0&#xff1b;preSum new int[nums.length 1];// 计算 nums 的累加和for (int i 1; i < preSum.length; i) {preSum[i] preSum[i - 1] nums[i - 1];}} 方法2 public preSum(int[] nums) {preSum[0] nums[0];preSum …...

Linux —— vim 编辑器

一、什么是vim vim是一个功能强大、高度可定制的文本编辑器。以下是对vim编辑器的具体介绍&#xff1a; 历史背景&#xff1a;vim最初由Bram Moolenaar在1991年开发&#xff0c;作为vi编辑器的增强版&#xff0c;增加了许多新的特性和改进。它继承了vi的基本编辑功能和键盘快捷…...

pytorch torch.where函数

torch.where 是 PyTorch 中用于条件选择的函数。它可以根据一个布尔条件在两个张量中选择元素&#xff0c;从而生成一个新的张量。 函数定义 torch.where(condition, input, other)参数说明&#xff1a; condition 一个布尔张量&#xff0c;表示条件判断结果。形状可以与 in…...

【JAVA】Java项目实战—Java EE项目:企业资源规划(ERP)系统

在企业管理中&#xff0c;企业资源规划&#xff08;ERP&#xff09;系统是不可或缺的工具。它能够帮助企业高效管理各种资源&#xff0c;包括人力资源、财务资源和库存等。Java作为一种成熟的编程语言&#xff0c;因其跨平台特性、强大的生态系统以及良好的社区支持&#xff0c…...

操作系统笔记

操作系统 历史 无操作系统 : 1946年&#xff5e;1950年代末期&#xff1a;第1代计算机&#xff0c;硬件以电子管为主&#xff0c;无操作系统。使用纸带传输程序和数据&#xff0c;操作系统只起加载作用。批处理操作系统 :1960年代初期&#xff5e;1960年代中期&#xff1a;第…...

go-zero(十二)消息队列

go zero 消息队列 在微服务架构中&#xff0c;消息队列主要通过异步通信实现服务间的解耦&#xff0c;使得各个服务可以独立发展和扩展。 go-zero中使用的队列组件go-queue&#xff0c;是gozero官方实现的基于Kafka和Beanstalkd 的消息队列框架,我们使用kafka作为演示。 一、…...

CSS3 常用特性及应用全解析

CSS3 常用特性及应用全解析 在前端开发领域&#xff0c;CSS3 以其丰富多样的特性为网页增添了绚丽的视觉效果与流畅的交互体验。本文将详细介绍一些 CSS3 的常见知识及其使用方法&#xff0c;助力开发者打造更具吸引力的网页。 一、边框效果升级 &#xff08;一&#xff…...

revit转gltf,revit转3dtiles,如何将Revit模型转为3DTiles格式并在Cesiumjs中高效可视化

Revit模型导出gltf、glb与3dtiles有多种方式&#xff0c;但一般的商业工具收费普遍较高&#xff1a;Cesiumlab导出3dTile格式数据&#xff0c;Cesiumlab暂时可试用3天&#xff0c;会员版收费每年800&#xff1b;BimAngleEngine导出3dTile格式数据BimAngleEngine暂时可试用30天&…...

Unity学习笔记(二)如何制作角色动画

前言 本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记 创建一个角色 我们的目的是创建一个可移动、跳跃、冲刺等动作的角色 需要的组件&#xff1a;Rigidbody&#xff08;用于创建物理规则&#xff09;、Collider&#xff08;用于检测碰撞&am…...

基于卷积神经网络的Caser算法

将一段交互序列嵌入到一个以时间为纵轴的平面空间中形成“一张图”后&#xff0c;基于卷积序列嵌入的推荐&#xff08;Caser&#xff09;算法利用多个不同大小的卷积滤波器&#xff0c;来捕捉序列中物品间的点级&#xff08;point-level&#xff09;、联合的&#xff08;union-…...

Java中服务器代理(Proxy)详解

Java中服务器代理&#xff08;Proxy&#xff09;详解 服务器代理&#xff08;Proxy&#xff09;在网络编程和分布式系统中是一个至关重要的概念&#xff0c;其功能远超一般的网络请求转发。在现代互联网架构中&#xff0c;代理不仅广泛应用于负载均衡、访问控制和安全防护&…...

css中相对定位的应用场景

元素位置微调 文本与图标组合微调&#xff1a;在网页设计中&#xff0c;经常会有文本和图标的组合&#xff0c;比如一个带有搜索图标的搜索框。可以使用相对定位来微调图标在搜索框内的位置。例如&#xff0c;有以下HTML结构&#xff1a; <input type"text" class…...

人工智能技术的深度解析与推广【人工智能的应用场景】

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…...

Quad Remesher使用教程

为什么要拓扑&#xff1f; 我们知道&#xff0c;模型在三维软件中的表现&#xff0c;是由一系列的面通过不同角度组合而成的。3D模型制作层面上的拓扑&#xff0c;按我的理解来说&#xff0c;就是一个模型的面的结构分布——布线。想表现和制作一个三维模型&#xff0c;有无限…...

【经验分享】容器云运维的知识点

最近忙于备考没关注&#xff0c;有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源&#xff0c;但我以交流、交换为主&#xff0c;笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟&#xff0c;为了避免更多人花没必要的钱&#xff0c;所以决定公…...

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用 第一部分&#xff1a; void RPC_ENTRY NDRCContextUnmarshall ( // process returned context OUT NDR_CCONTEXT PAPI *phCContext,// stub context to update IN RPC_BINDING_HANDLE hRPC, …...

代码随想录算法训练营第三十二天|动态规划理论基础|LC509.肥波那些数|LC70.爬楼梯|LC746.使用最小花费爬楼梯

动态规划理论基础 解释&#xff1a;动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff1b;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 动态规划五部曲&#xff1a; 1、确定dp数组&#xff08;dp table&#xff09;…...

[每周一更]-(第127期):Go新项目-Gin中使用超时中间件实战(11)

在项目不断迭代过程中&#xff0c;发现基础架构中&#xff0c;没有进行超时控制&#xff0c;有些接口由于网络延迟以及远程调用等情况存在请求时间过长的问题&#xff0c;消耗了资源&#xff0c;也降低了用户体验&#xff0c;这一讲我们聊下超时控制中间件&#xff0c;来完善我…...