下载完整的电子书! 如何使用EPUB 格式的Ansible电子书管理远程服务器 如何使用PDF 格式的Ansible电子书 管理远程服务器 电子书简介 本书旨在向您介绍使用 Ansible 来管理您的服务器。您将学习如何在控制节点上安装和配置 Ansible,然后如何使用它在远程服务器上配置和运行命令。您还将学习如何将任务收集到完整的 Playbook 中,以从头到尾自动化服务器设置。 本书基于DigitalOcean Community上的How To Manage Remote Servers with Ansible系列教程。它涵盖的主题包括如何: 熟悉配置管理工具和流程,以及使用它们管理基础架构的好处。 在 Ubuntu 20.04 控制节点上安装和配置 Ansible,确保您的服务器设置正确,并且您能够通过 Ansible 执行远程指令。 构建清单文件并将您的服务器组织成组,以有选择地控制 Ansible 命令的运行方式和位置。 运行 Ad Hoc 命令以在一台或多台远程服务器上执行单个任务。 将单个命令打包到 Playbooks 中,您可以使用这些命令自动配置多个服务器,以及如何使用标签在 Playbooks 中运行特定的任务集。 每章都可单独用作参考,或作为学习如何使用 Ansible 管理服务器的渐进指南的一部分。如果您熟悉某个主题,或者对特定部分更感兴趣,请随时跳至最适合您目的的章节。 下载电子书 您可以通过以下链接下载 EPUB 或 PDF 格式的电子书。 下载完整的电子书! 如何使用EPUB 格式的Ansible电子书管理远程服务器 如何使用PDF 格式的Ansible电子书 ..
Category : 教程系列
作为Write for DOnations计划的一部分,作者选择了技术教育基金来接受捐赠。 介绍 Minecraft是一款流行的沙盒视频游戏。最初于 2009 年发布,它允许玩家在块 3D 生成的世界中构建、探索、制作和生存。截至 2019 年底,它是有史以来第二畅销的视频游戏。在本教程中,您将创建自己的 Minecraft 服务器,以便您和您的朋友可以一起玩。具体来说,您将安装运行 Minecraft 所需的软件包,配置要运行的服务器,然后部署游戏。 或者,您可以探索DigitalOcean 的 One-Click Minecraft: Java Edition Server作为另一个安装路径。 本教程使用Java 版本的 Minecraft。如果您通过 Microsoft App Store 购买了您的 Minecraft 版本,您将无法连接到此服务器。在 PlayStation 4、Xbox One 或 Nintendo Switch 等游戏机上购买的大多数 Minecraft 版本也是 Minecraft 的 Microsoft 版本。这些控制台也无法连接到本教程中构建的服务器。您可以在此处获取 Java 版本的 Minecraft 。 先决条件 为了遵循本指南,您需要: 全新安装 Ubuntu 18.04 的服务器、具有sudo特权的非 root ..
介绍 短语vanilla JavaScript通常用于包含在没有框架或库的情况下编写 JavaScript。虽然许多现代问题可以通过框架和库来解决,但了解 JavaScript 原生可用的内容以及如何以及何时可以依赖它们将帮助您成为更强大的开发人员。 考虑一个场景,您收到不同长度的文本字符串。您的目标是计算字符串中包含的英文元音(“a”、“e”、“i”、“o”和“u”)(大写和小写)出现的次数。 JavaScript包含3个元音。DigitalOcean包含6个元音。Rhythms包含 0 个元音。 在本文中,您将使用迭代循环构建一个解决方案,并使用正则表达式构建第二个解决方案。 先决条件 如果你想跟随这篇文章,你需要: 具有 Web 开发人员控制台或具有REPL实现的沙箱环境的现代 Web 浏览器。 熟悉循环、字符串和数组将大有裨益。 熟悉正则表达式可能会有所帮助,但不是必需的。 此示例使用for…of和includes()在旧版浏览器中不受支持。 使用迭代循环 在迭代方法中,您将遍历传递的字符串的每个字母,然后检查是否有任何字母与任何元音匹配。如果字母与元音的已知可能值匹配,您将增加一个计数器变量。循环完成后,您可以引用此变量,它将显示元音的数量。 花点时间思考如何分解此任务的要求和步骤。 现在,使用 Web 浏览器中的 Web 开发人员控制台或 REPL 的其他实现,让我们为这个问题构建一个解决方案。 首先,让我们定义你所知道的: const vowels = [“a”, “e”, “i”, “o”, “u”] 这段代码声明了一个常量 – vowels– 它包含五个英文元音的数组。 然后,让我们创建一个传递text值的函数: const vowels = [“a”, “e”, “i”, “o”, “u”] function countVowelsIterative(text) ..
介绍 AngularHttpClient有一个测试模块,HttpClientTestingModule可以让您对 HTTP 请求进行单元测试。 注意:由于HttpClient仅从 Angular 4.3 开始可用,因此以下内容适用于 Angular 4.3+。如果您不熟悉 Angular 中的单元测试,请参阅此介绍。 在本文中,您将学习如何使用HttpClientTestingModule. 这将有助于展示测试模块的功能。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对设置 Angular 项目有一定的了解。 本教程已通过 Node v16.2.0、npmv7.15.1 和@angular/corev12.0.4 验证。 步骤 1 — 设置项目 对于这篇文章,我们将使用从端点获取数据的服务和调用该服务以填充组件OnInit挂钩中的用户列表的组件。 您可以使用@angular/cli来创建一个新项目: ng new angular-httpclienttest-example 然后,导航到新创建的项目目录: cd angular-httpclienttest-example 创建一个data.service.ts: ng generate service data 并让它与 JSON Placeholder 通信: src/app/data.service.ts import { Injectable } from ..
介绍 结构化查询语言,通常称为SQL,在它允许您如何将数据插入表中方面提供了很大的灵活性。例如,您可以使用VALUES关键字指定单个数据行,使用SELECT查询从现有表中复制整组数据,以及以将导致 SQL 自动将数据插入其中的方式定义列。 在本指南中,我们将介绍如何使用 SQL 的INSERT INTO语法通过这些方法中的每一种将数据添加到表中。 先决条件 为了遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用非 root MySQL 用户进行验证,该用户使用步骤 3中描述的过程创建。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 您还需要一个可以练习插入数据的数据库和表。如果您没有这些,您可以阅读以下连接到 MySQL 和设置示例数据库部分,详细了解如何创建本指南将在整个示例中使用的数据库和表。 连接到 MySQL 并设置示例数据库 如果您的 SQL 数据库系统在远程服务器上运行,请从本地计算机通过 SSH 连接到您的服务器: ..
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 Python 3 有许多内置的数据结构,包括元组、字典和列表。数据结构为我们提供了一种组织和存储数据的方法。该collections模块帮助我们有效地填充和操作数据结构。 在本教程中,我们将通过三个类的collections模块,以帮助您与元组,字典和列表的工作。我们将使用namedtuples命名字段创建元组,defaultdict在字典中简明地分组信息,并deque有效地将元素添加到类似列表的对象的任一侧。 在本教程中,我们将主要处理在虚构的水族箱中添加或移除鱼类时需要修改的鱼类清单。 先决条件 为了充分利用本教程,建议您熟悉元组、字典和列表数据类型,包括它们的语法以及如何从中检索数据。您可以查看这些教程以获取必要的背景信息: 理解 Python 3 中的元组 理解 Python 3 中的字典 理解 Python 3 中的列表 将命名字段添加到元组 Python 元组是不可变或不可更改的有序元素序列。元组经常用于表示列数据;例如,来自 CSV 文件的行或来自 SQL 数据库的行。水族馆可能会以一系列元组的形式跟踪其鱼类库存。 一个单独的鱼元组: (“Sammy”, “shark”, “tank-a”) 这个元组由三个字符串元素组成。 虽然在某些方面很有用,但这个元组并没有清楚地表明它的每个字段代表什么。实际上,元素0是名称,元素1是物种,元素2是储罐。 鱼元组字段说明: 名称 物种 坦克 萨米 鲨鱼 坦克-a 这张表清楚地表明,元组的三个元素中的每一个都有明确的含义。 namedtuple从collections模块中,您可以为元组的每个元素添加显式名称,以在 Python 程序中明确这些含义。 让我们namedtuple用来生成一个类,它清楚地命名了鱼元组的每个元素: from collections import namedtuple Fish = ..
介绍 用户满意度受 Web 性能的影响,而 Web 性能会受到大包大小的影响。当我们在项目中添加第三方模块时,每个依赖项都有自己的依赖项,这些依赖项会影响项目的大小。如果我们没有利用这些模块的所有功能,它们就会不必要地为我们的项目增加规模。 webpack Bundle Analyzer 是一种工具,可以帮助识别我们项目中使用的模块,并深入了解可以修剪哪些模块。 在本文中,您将学习如何使用 webpack Bundle Analyzer 和 Angular 来分析项目并进行合理的更改以减小项目大小。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对设置 Angular 项目有一定的了解。 本教程已通过 Node v16.2.0、npmv7.18.1、@angular/corev12.0.4 和webpack-bundle-analyzerv4.4.2 验证。 步骤 1 — 设置项目 为了建立一个共同的基础,我们将创建一个全新的 Angular 应用程序并添加一些依赖项。 首先,使用@angular/cli创建一个新项目: ng new angular-bundle-analyzer-example –routing=false –style=css –skip-tests 然后,导航到新创建的项目目录: cd angular-bundle-analyzer-example 此时,我们可以运行ng build以确定我们项目的初始大小。 Output| Initial Total | 170.14 ..
介绍 版本控制系统可帮助您在软件开发项目上进行协作。Git 是目前最流行的版本控制系统之一。 本教程将引导您在 Ubuntu 20.04 服务器上从源代码安装和配置 Git。有关本教程的更详细版本,以及对每个步骤的更详尽解释,请参阅如何在 Ubuntu 20.04 上安装 Git。 第 1 步 – 确认 Git 预安装 验证您当前是否在服务器上安装了 Git 版本: git –version 如果安装了 Git,您将收到类似于以下内容的输出: Outputgit version 2.25.1 无论您是否已经安装了 Git,都值得检查以确保您在此过程中安装了更新的版本。 第 2 步 – 更新和安装依赖项 接下来需要安装 Git 依赖的软件。这在默认的 Ubuntu 存储库中都是可用的,因此我们可以更新我们的本地包索引,然后安装相关的包。 sudo apt update sudo apt install libz-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext cmake gcc y如果出现提示,请按确认。现在应该安装必要的依赖项。 ..
介绍 Promise为我们提供了一种更简单的方法来以顺序方式处理代码中的异步问题。考虑到我们的大脑并不是为有效处理异步性而设计的,这是一个非常受欢迎的补充。Async/await 函数是 ES2017 ( ES8 )的新增功能,它帮助我们在幕后执行异步任务的同时编写完全同步的代码。 使用 async 函数实现的功能可以通过将 promise 与generators结合来重新创建,但是 async 函数为我们提供了我们需要的东西,而无需任何额外的样板代码。 简单示例 在下面的示例中,我们首先声明一个函数,该函数返回一个🤡2 秒后解析为值的承诺。然后我们声明一个异步函数并在将消息记录到控制台之前等待承诺解决: function scaryClown() { return new Promise(resolve => { setTimeout(() => { resolve(‘🤡’); }, 2000); }); } async function msg() { const msg = await scaryClown(); console.log(‘Message:’, msg); } msg(); // Message: 🤡 <– after 2 seconds await是一个新的操作符,用于等待解决或拒绝承诺。它只能在异步函数中使用。 当涉及多个步骤时,异步函数的威力变得更加明显: ..
介绍 Ansible 是一种现代配置管理工具,可促进设置和维护远程服务器的任务,其极简设计旨在让用户快速启动和运行。Ansible 使用清单文件来跟踪哪些主机是您的基础架构的一部分,以及如何访问它们以运行命令和剧本。 您可以通过多种方式设置 Ansible 清单文件,具体取决于您的环境和项目需求。在本指南中,我们将演示如何创建清单文件并将服务器组织成组和子组,如何设置主机变量,以及如何使用模式来控制每个主机和每个组的 Ansible 命令和剧本的执行。 先决条件 为了遵循本指南,您需要: 一个 Ansible 控制节点:一台安装了 Ansible 并配置为使用 SSH 密钥连接到 Ansible 主机的 Ubuntu 20.04 机器。确保控制节点有一个具有 sudo 权限的普通用户并启用了防火墙,如我们的初始服务器设置指南中所述。要设置 Ansible,请按照我们关于如何在 Ubuntu 20.04 上安装和配置 Ansible 的指南进行操作。 两个或多个 Ansible 主机:两个或多个远程 Ubuntu 20.04 服务器。 第 1 步 – 创建自定义清单文件 安装后,Ansible 会创建一个清单文件,该文件通常位于/etc/ansible/hosts. 当自定义清单文件未随-i选项提供时,在剧本或命令执行期间,这是 Ansible 使用的默认位置。 即使您可以毫无问题地使用此文件,但使用每个项目的清单文件是一个很好的做法,以避免在执行命令和剧本时混合服务器。如果您将清单文件包含在项目的代码存储库中,那么拥有每个项目的清单文件也将有助于与合作者共享您的供应设置。 首先,访问您的主文件夹并创建一个新目录来保存您的 Ansible 文件: cd ~ mkdir ansible ..