Category : 教程系列

介绍 当面临重复的技术任务时,寻找有效的自动化解决方案可能是一件苦差事。使用开源自动化服务器Jenkins,您可以高效地管理从构建到部署软件的任务。Jenkins 是基于 Java 的,从 Ubuntu 软件包安装或通过下载并运行其 Web 应用程序存档 (WAR) 文件 — 一组文件组成了一个在服务器上运行的完整 Web 应用程序。 在本教程中,我们将在 Ubuntu 20.04 上安装 Jenkins,启动开发服务器并创建一个管理用户,让您开始探索 Jenkins 的功能。虽然在本教程结束时您将有一个开发级服务器可供使用,但要确保此安装用于生产,请遵循指南如何在 Ubuntu 18.04 上使用 Nginx 反向代理配置 Jenkins 与 SSL。 先决条件 要学习本教程,您需要: 按照Ubuntu 20.04 初始服务器设置指南使用非 root sudo 用户和防火墙配置了一台Ubuntu 20.04 服务器。我们建议从至少 1 GB 的 RAM 开始。访问 Jenkins 的“硬件建议”以获取有关规划生产级 Jenkins 安装容量的指导。 按照我们在 Ubuntu 20.04上安装特定版本的 OpenJDK 的指南,安装了Oracle JDK ..

Read more

作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 Cockpit是一个服务器管理仪表板,可让您实时查看服务器的状态。它提供有关 CPU 负载、文件系统统计信息、进程和更多信息的信息。Cockpit 的好处之一是,当您未登录到控制面板时,它不会消耗任何服务器资源——该服务仅在您浏览到控制面板时启动。 您可以使用 Cockpit 执行服务器管理任务,例如管理用户和解决网络问题。您还可以从计算机或手机上的浏览器访问终端。Cockpit 使用您系统的用户进行登录和系统管理,sudo用于权限提升。通过这种方式,Cockpit 不会通过创建第二组 Cockpit-only 用户为您的服务器引入额外的安全考虑。 在本教程中,您将在 Debian 10 服务器上部署一个安全的 Cockpit 服务器管理仪表板。 先决条件 在开始本指南之前,您需要具备以下条件: 使用Debian 10指南的初始服务器设置配置的一台 Debian 10 服务器。您应该按照指南中的说明配置和启用 UFW 防火墙。 指向您将用于访问 Cockpit 的服务器的域名。如果您需要有关指向域名的信息,请参阅域和 DNS指南。我们将cockpit.your_domain在本教程中使用示例域名。在开始之前,您的域必须指向您的服务器。 以启用 sudo 的非根服务器身份登录到您的服务器以开始。 步骤 1 — 安装 Cockpit 在这一步中,您将安装 Cockpit 并打开 Cockpit 在防火墙中使用的端口。 首先,使用 执行系统更新apt。这将确保您的服务器具有最新的软件包并避免在 Cockpit 安装过程中出现任何错误: sudo apt update sudo ..

Read more

该系列的一部分: 如何使用 CSS 构建网站 本教程是使用 CSS创建和自定义此网站的系列的一部分,CSS 是一种用于控制网站呈现的样式表语言。您可以按照整个系列重新创建演示网站并熟悉 CSS 或将此处描述的方法用于其他 CSS 网站项目。 在继续之前,我们建议您了解一些 HTML 知识,HTML 是用于在 Web 浏览器中显示文档的标准标记语言。如果您不熟悉 HTML,可以在开始本系列之前先阅读我们如何使用 HTML 构建网站系列的前十个教程。 介绍 在本教程中,您将使用 HTML 表和 CSS 类重新创建演示网站(或第四部分)的“就业”部分。如果您想个性化尺寸,请随意将 Sammy 的信息换成您自己的信息。您在此处使用的方法可以应用于其他 CSS/HTML 网站项目。 要构建此部分,您将添加一个部分标题并为其设置样式,添加一个宽列并为其设置样式,并在该列内添加一个 HTML 表并为其设置样式。 先决条件 要遵循本教程,请确保您已按照本系列如何设置 CSS 和 HTML 练习项目中的上一个教程中的说明设置必要的文件和文件夹。 创建分节符和节标题 首先,创建一个类,在之前的“项目”部分和本“就业”部分的内容之间添加空间。将以下 CSS 注释和 CSS 规则集添加到styles.css文件底部: 样式文件 . . . /* Section 4 */ /* Add ..

Read more

介绍 以编程方式检测 React 组件何时进入视口需要滚动事件侦听器并计算元素的大小。 使用React Visibility Sensor为您提供了一个 React 组件,可以为您完成此任务。 在本教程中,您将学习如何使用 React Visibility Sensor 来检测 React 组件何时进入视口。 先决条件 要完成本教程,您需要: Node.js 的本地开发环境。遵循如何安装 Node.js 并创建本地开发环境。 本教程已通过 Node v15.3.0、npmv6.14.9、reactv17.0.1 和v5.1.1验证react-visibibilty-sensor。 步骤 1 — 设置项目 考虑具有多个图像的页面的场景。当图像进入视口时,您希望应用 CSS 过渡以使图像淡入。您将 React Visibility Sensor 应用于每个图像以完成此操作。 从使用create-react-app生成 React App 开始,然后安装依赖项: npx create-react-app react-visibility-sensor-example 切换到新的项目目录: cd react-visibility-sensor-example 安装react-visibility-sensor软件包: npm install [email protected] 现在,您可以运行 React 应用程序: npm ..

Read more

作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 Mahara是一个开源的电子档案和社交网络系统,自称为“以学习者为中心的个人学习环境”。Mahara 在学术机构中尤其受欢迎,它为学习者提供了一个平台来管理和分享他们的知识和成长。在远程学习环境中,Mahara 可以帮助教育工作者建立数字课堂并组织学生的进步。与更传统的学习管理系统 (LMS) 不同,Mahara 更加分散且以用户为中心。这种用户创造力与其他更制度化的系统形成鲜明对比。 Mahara 也有许多非学生应用程序。您可以使用它来构建博客、简历构建器、文件存储库或能力框架。 在本指南中,您将安装 Mahara 并将其配置为使用Postgres 数据库作为身份验证源。完成后,您将拥有对基于服务器的 ePortfolio 的管理访问权限。 先决条件 一台带有非 rootsudo用户和防火墙的Ubuntu 18.04 服务器。您可以按照我们的Ubuntu 18.04 初始服务器设置指南获取说明。 安装了 Postgres 关系数据库管理系统。您可以按照我们的如何在 Ubuntu 18.04 上安装和使用 PostgreSQL指南获取说明。步骤 1 — 安装 PostgreSQL就足够了。 已安装 Apache 和 PHP。您可以按照我们的如何在 Ubuntu 18.04 上安装 Linux、Apache、MySQL、PHP(LAMP 堆栈)指南获取说明。请注意,Mahara 建议使用 Postgres 而不是 MySQL,但您可以按照本指南的第 2 步来安装和使用 MySQL。 配置为指向您的服务器的域名。要将域指向 DigitalOcean ..

Read more

介绍 根据用例和感知的复杂性适当地构建Terraform项目对于确保其在日常操作中的可维护性和可扩展性至关重要。为了确保项目在部署过程中保持可扩展性并可供您和您的团队使用,需要一种系统地正确组织代码文件的方法。 在本教程中,您将了解如何根据 Terraform 项目的一般用途和复杂性来构建它们。然后,您将使用 Terraform 的更常见功能创建一个结构简单的项目:变量、本地变量、数据源和供应商。最后,您的项目将在 DigitalOcean 上部署 Ubuntu 18.04 服务器(Droplet),安装 Apache Web 服务器,并将您的域指向 Web 服务器。 先决条件 DigitalOcean 个人访问令牌,您可以通过 DigitalOcean 控制面板创建。可以在以下位置找到执行此操作的说明:如何生成个人访问令牌。 添加到您的 DigitalOcean 帐户的无密码 SSH 密钥,您可以按照如何在 DigitalOcean Droplets 中使用 SSH 密钥创建该密钥。 Terraform 安装在您的本地机器上。根据您的操作系统的说明,请参见第1步中的如何使用Terraform与DigitalOcean教程。 安装在本地机器上的 Python 3。您可以完成第1步中如何安装和设置为Python 3本地编程环境为您的操作系统。 添加到您的 DigitalOcean 帐户的完全注册的域名。有关如何执行此操作的说明,请访问官方文档。 注意:本教程已专门使用 Terraform 进行了测试0.13。 了解 Terraform 项目的结构 在本节中,您将了解 Terraform 将什么视为项目、如何构建基础架构代码以及何时选择哪种方法。您还将了解 Terraform 工作区、它们的作用以及 Terraform 如何存储状态。 甲资源是云服务(如DigitalOcean液滴)的实体在被根据指定的和推断的属性创建Terraform代码中声明。多个资源通过它们的相互联系形成基础设施。 ..

Read more

配置管理是以确保随时间推移的完整性的方式处理系统更改的过程,通常涉及促进自动化和可观察性的工具和过程。尽管此概念并非源自 IT 行业,但该术语仍广泛用于指代服务器配置管理。 在服务器环境中,配置管理通常也称为IT 自动化或服务器编排。这些术语突出了配置管理的实际方面以及从中央服务器控制多个系统的能力。 有许多配置管理工具可供选择,具有不同程度的复杂性和不同的架构风格。流行的选项包括 Ansible、Chef、Puppet 和 Salt。尽管这些工具中的每一个都有自己的特性和要求,但它们的功能本质上是断言和强制系统状态与一组供应脚本描述的状态相匹配。 如果您想了解有关配置管理的更多信息,以下资源提供了一个很好的起点: 配置管理入门 基础设施即代码解释 配置管理标签下的�..

Read more

作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 系统日志是管理 Linux 系统的极其重要的组成部分。它们提供了对系统如何工作以及它们如何被使用的宝贵见解,因为除了错误之外,它们还记录操作信息,例如安全事件。Linux 系统的标准配置是将它们的日志本地存储在它们发生的同一系统上。这适用于独立系统,但随着系统数量的增加,很快就会成为一个问题。管理所有这些日志的解决方案是创建一个集中式日志服务器,每个 Linux 主机将其日志实时发送到专用日志管理服务器。 与在每个主机上存储日志相比,集中式日志记录解决方案具有以下几个优点: 减少每个主机上存储日志文件所需的磁盘空间量。 日志可以保留更长时间,因为专用日志服务器可以配置更大的存储容量。 可以执行高级日志分析,这需要来自多个系统的日志以及比主机上可用的更多计算资源。 出于安全原因,系统管理员可以访问他们可能无法直接登录的所有系统的日志。 在本指南中,您将配置systemd工具套件的一个组件,以将日志消息从客户端系统中继到集中式日志收集服务器。您将配置服务器和客户端以使用 TLS 证书对通过不安全网络(如 Internet)传输的日志消息进行加密,并相互进行身份验证。 先决条件 在开始本指南之前,您需要具备以下条件: 两台 Debian 10 服务器。 在两台服务器上都具有 sudo 权限的非 root 用户。按照Debian 10指南的初始服务器设置了解如何执行此操作的说明。您还应该按照指南中的说明在两台服务器上配置 UFW 防火墙。 指向您的服务器的两个主机名。一个用于生成日志的客户端系统的主机名和另一个用于日志收集服务器的主机名。通过查阅域和 DNS文档,了解如何将主机名指向 DigitalOcean Droplets 。 本指南将使用以下两个示例主机名: client.your_domain:生成日志的客户端系统。 server.your_domain: 日志收集服务器。 以非 root sudo 用户身份通过​​ SSH 在不同终端中登录客户端和服务器以开始本教程。 注意:在整个教程中,命令块都标有应该运行命令的服务器名称(客户端或服务器)。 步骤 1 — 安装 systemd-journal-remote 在此步骤中,您将systemd-journal-remote在客户端和服务器上安装软件包。此包包含客户端和服务器用于中继日志消息的组件。 ..

Read more

JavaScript管道运算符提案,目前是第 1 阶段提案,将向 JavaScript 添加一个新运算符。这个新的运算符将作为语法糖来扩展并使链式函数更具可读性。 为了演示,让我们从一个不使用管道运算符的简单示例开始: // assume that `withHello`, `withWave` and `capitalize` are available let greeting = withHello(withWave(capitalize(‘alligator’))) console.log(greeting) // Hello, Alligator 👋 现在是相同的示例,但使用建议的管道运算符: let greeting = ‘alligator’ |> capitalize |> withWave |> withHello console.log(greeting) // Hello, Alligator 👋 或者以更易读的方式格式化,如下所示: let greeting = ‘alligator’ |> capitalize |> withWave |> withHello console.log(greeting) // Hello, Alligator ..

Read more

介绍 Elasticsearch是一个实时分布式搜索和分析数据的平台。由于其可用性、强大的功能和可扩展性,它是一种流行的选择。 本文将指导您安装 Elasticsearch、为您的用例配置它、保护您的安装以及开始使用您的 Elasticsearch 服务器。 先决条件 在学习本教程之前,您需要: 具有 4GB RAM 和 2 个 CPU 的 Ubuntu 20.04 服务器设置为非 root sudo 用户。您可以通过使用 Ubuntu 20.04执行初始服务器设置来实现此目的 已安装 OpenJDK 11 在本教程中,我们将使用运行 Elasticsearch 所需的最少 CPU 和 RAM。请注意,您的 Elasticsearch 服务器所需的 CPU、RAM 和存储量取决于您期望的日志量。 步骤 1 — 安装和配置 Elasticsearch Elasticsearch 组件在 Ubuntu 的默认包存储库中不可用。但是,它们可以在添加 Elastic 的包源列表后与 APT 一起安装。 所有包都使用 Elasticsearch 签名密钥进行签名,以保护您的系统免受包欺骗。已使用密钥进行身份验证的包将被您的包管理器视为信任。在此步骤中,您将导入 Elasticsearch 公共 ..

Read more