作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 甲Linux的容器是一组从该系统的其余部分分离的处理。对于最终用户来说,Linux 容器就像一个虚拟机,但它要轻得多。您没有运行额外 Linux 内核的开销,并且容器不需要任何 CPU 硬件虚拟化支持。这意味着您可以在同一台服务器上创建比虚拟机更多的容器。 想象一下,您有一台服务器,应该为您的客户运行多个网站。一方面,每个网站都可以是同一 Apache 或 Nginx 网络服务器实例的虚拟主机/服务器块。另一方面,在使用虚拟机时,您将为每个网站创建一个单独的嵌套虚拟机。Linux 容器位于虚拟主机和虚拟机之间。 LXD允许您创建和管理这些容器。LXD 提供管理程序服务来管理容器的整个生命周期。在本教程中,您将配置 LXD 并使用它在容器中运行Nginx。然后,您会将来自 Internet 的流量路由到容器,以使示例网页可访问。 先决条件 要完成本教程,您需要具备以下条件: 运行 Ubuntu 20.04的服务器。要设置服务器,包括非 root sudo 用户和防火墙,您可以创建一个运行 Ubuntu 20.04 的 DigitalOcean Droplet,然后按照我们的初始服务器设置指南进行操作。记下您服务器的公共 IP 地址。我们稍后将其称为your_server_ip. 至少 5GB 的块存储。要进行设置,您可以遵循DigitalOcean 的块存储卷快速入门。在 Block Storage 的配置中,选择Manually Format & Mount以允许 LXD 根据需要进行准备。您将使用它来存储与容器相关的所有数据。 注意:从 Ubuntu 20.04 开始,LXD 正式作为 snap ..
Category : 教程系列
有时你只需要拆开字符串: var sentence = “Oh a cookie!” sentence.split(” “); // [ “Oh”, “a”, “cookie!” ] 句法 诀窍是使用正确的分隔符: myArray.split(separator); 常见用例 如果将分隔符留空,它将剖析每个字符。 var pieces = sentence.split(“”); // [ “O”, “h”, ” “, “a”, ” “, “c”, “o”, “o”, “k”, “i”, “e”, “!” ] 请注意,空格保留在结果数组中,因为它们没有用作分隔符。 学到更多 split()只是帮助开发人员处理字符串的几种方法之一,要了解更多信息,请参阅如何在 JavaScript 中索引、拆分和操�..
介绍 本文将研究如何在 Express 项目中处理路由和 HTTP 请求方法。路由处理用户导航到整个应用程序中的各种 URL。HTTP 是Hyper Text Transfer Protocol 的缩写,用于将数据从 Express 服务器传输到 Web 浏览器并提供便利。 您将学习如何定义路线和使用HTTP请求方法GET,POST,PUT和DELETE操纵数据。 先决条件 要完成本教程,了解 Node.js 会有所帮助,但不是必需的。如果您想了解有关 Node.js 的更多信息,请查看如何在 Node.js 中编码系列。 设置您的项目 由于 Express 是一个 Node.js 框架,因此在执行后续步骤之前,请确保您已从 Node.js 安装了Node.js。在终端中运行以下命令: 创建一个以node-express-routing您的项目命名的新目录: mkdir node-express-routing 切换到新目录: cd node-express-routing 使用默认值初始化一个新的 Node 项目。这将包含package.json用于访问依赖项的文件: npm init -y 创建您的入口文件,index.js. 您将在此处处理路由和 HTTP 请求方法: touch index.js 安装 Express 和nodemon作为依赖项。每当文件更改时,您将使用nodemon来不断地重新启动 Express ..
在我们的Django 入门教程中,我向您展示了如何启动和运行 Django 站点。不过,我们渲染的模板非常基础。 这绝对不是您希望网站的样子。 你如何让你的网站看起来更好?简单的!添加一些样式。在本教程中,我将向您展示如何向 Django 模板添加一些 CSS 和 JavaScript,以使它们看起来更好。为此,您首先需要了解 Django 中静态文件的概念。 设置 Django 项目 让我们设置我们的测试 Django 项目。首先,创建一个名为的文件夹projects,这是我们的应用程序所在的位置。 mkdir projects && cd projects 在里面projects,让virtualenv我们用来为我们的应用程序的依赖项创建一个环境。 virtualenv env –python python3 注意:如果您还没有virtualenv安装,请使用命令安装它pip install virtualenv。 完成后,通过运行 activate shell 脚本来激活环境。 source env/bin/activate 如果该命令有效,您应该会(env)在终端上看到一个提示。 #(env)~/projects $ 一切看起来都很好?惊人的!现在让我们使用pip安装Django到我们的环境中。 #(env)~/projects $ pip install django 该命令应该将 Django 安装到您的环境中。在撰写本文时,Django 版本是1.10.4. 然后我们将调用django-admin脚本来创建我们的 Django 应用程序。让我们这样做: #(env)~/projects ..
介绍 快照测试允许您确保您的输出继续按预期运行。这很有用,因为随着您重新访问代码以随着时间的推移进行更新,这些更改可能会导致某些内容中断的可能性增加。 与严格的测试驱动开发 (TDD) 不同,TDD 的标准做法是先编写失败的测试,然后编写代码以使测试通过,快照测试采用不同的方法。 在为 React 组件编写快照测试时,首先需要让代码处于工作状态。然后,在给定某些数据的情况下生成其预期输出的快照。快照测试与组件一起提交。Jest 是一个测试框架,会将快照与测试的渲染输出进行比较。 如果测试失败,则可能意味着两件事。如果测试结果出乎意料,您可能需要解决组件的问题。如果测试结果符合预期,则可能意味着需要更新快照测试以支持新的输出。 在本教程中,您将探索快照测试以及如何使用它们来确保您的用户界面 (UI) 不会意外更改。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 熟悉React和Jest可能会有所帮助,但不是必需的。 本教程还使用Visual Studio Code作为代码编辑器,以方便运行集成终端。但是,您可以将其替换为您选择的编辑器和终端。 本教程已通过 Node v14.7.0、npmv6.14.7、reactv16.13.1 和jestv24.9.0 验证。 第 1 步——创建一个 React 组件进行测试 首先,为了进行测试,您需要使用Create React App创建一个React App。在本教程中,该项目将被称为react-snapshot-tests。 打开终端并运行以下命令: npx [email protected] react-snapshot-tests 然后,切换到新创建的应用程序目录: cd react-snapshot-tests 接下来,启动应用程序: npm start 此时,您现在应该运行了一个 React 应用程序,并且可以在 Web 浏览器中查看它。接下来,您需要创建一个可以测试的组件。 就本教程而言,您将要创建的组件会渲染items它接收到的道具。 在您的终端中,在以下components目录下创建一个子目录src: ..
该系列的一部分: 如何对 MySQL 中的问题进行故障排除 本指南旨在作为诊断 MySQL 设置时的故障排除资源和起点。我们将讨论许多 MySQL 用户遇到的一些问题,并提供对特定问题进行故障排除的指导。我们还将包含指向 DigitalOcean 教程和官方 MySQL 文档的链接,这些链接可能在某些情况下有用。 许多网站和应用程序的 Web 服务器和数据库后端都托管在同一台机器上。但是,随着时间的推移,这样的设置会变得繁琐且难以扩展。一个常见的解决方案是通过设置远程数据库将这些功能分开,允许服务器和数据库在自己的机器上按自己的节奏增长。 用户在尝试设置远程 MySQL 数据库时遇到的更常见问题之一是他们的 MySQL 实例仅配置为侦听本地连接。这是 MySQL 的默认设置,但它不适用于远程数据库设置,因为 MySQL 必须能够侦听可以访问服务器的外部IP 地址。要启用此功能,请打开您的mysqld.cnf文件: sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 导航到以bind-address指令开头的行。它看起来像这样: /etc/mysql/mysql.conf.d/mysqld.cnf . . . lc-messages-dir = /usr/share/mysql skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is ..
介绍 在本文中,您将研究如何在您的 React 项目中实现Context API和 React Hook useContext()。Context API 是一种 React 结构,允许您共享来自应用程序各个级别的特定数据,并有助于解决螺旋钻。 React Hooks 是一种函数,可作为用函数式组件编写的状态和生命周期方法的模块化替代品。该useContext()方法是通过组件树进行 prop-drilling 的替代方法,并创建一个内部全局状态来传递数据。 先决条件 需要了解 React。要了解有关 React 的更多信息,请查看如何在 React系列中编码。 建议具备 React Hooks 的一般知识,但不是必需的。要了解有关 React Hooks 的更多信息,请查看教程如何在 React 项目中应用 React Hooks。 检查上下文 API 为了检查 Context API,让我们了解如何在 React 应用程序中访问上下文。React 提供了createContext()帮助将数据作为 prop 传递的方法。 在您的ColorContext.js文件中,设置一个colors对象并将一个属性作为参数传递给该createContext()方法: 颜色上下文.js const colors = { blue: “#03619c”, yellow: “#8c8f03”, red: ..
本教程的先前版本由Etel Sverdlov编写。 介绍 使用数据库时,拥有多个数据副本会很有用。这在其中一台数据库服务器发生故障时提供了冗余,并可以提高数据库的可用性、可伸缩性和整体性能。跨多个独立数据库同步数据的做法称为复制。 MySQL是一个关系型数据库管理系统,是当今世界上最流行的开源关系型数据库。它安装了许多内置复制功能,允许您维护数据的多个副本。 本教程概述了如何将一台服务器上的 MySQL 实例配置为源数据库,然后将另一台服务器上的 MySQL 实例配置为它的副本。它还包括 MySQL 如何处理复制的概述。 注意:历史上,这种类型的数据库复制被称为“主从”复制。在2020 年 7 月发表的一篇博文中,MySQL 团队承认了该术语的负面来源,并宣布他们正在努力更新数据库程序及其文档,以使用更具包容性的语言。 然而,这是一个持续的过程。尽管 MySQL 的文档和程序第8版中的大部分命令已更新为将复制拓扑中的服务器称为源及其副本,但仍有一些地方会出现负面术语。本指南将尽可能默认使用更具包容性的源副本术语,但在某些情况下,旧术语不可避免地出现。 先决条件 要完成本指南,您需要: 两台运行 Ubuntu 20.04 的服务器。两者都应该有一个具有sudo特权的非 root 管理用户和一个配置有 UFW 的防火墙。按照我们针对 Ubuntu 20.04 的初始服务器设置指南来设置两台服务器。 MySQL 安装在每台服务器上。本指南假定您使用的是默认 Ubuntu 存储库中可用的最新版本的 MySQL,在撰写本文时,版本为8.0.25。要在两台服务器上安装它,请按照我们关于如何在 Ubuntu 20.04 上安装 MySQL 的指南进行操作。 请注意,本指南中概述的过程涉及将一台服务器上的 MySQL 安装指定为源数据库,然后将另一台服务器上的 MySQL 安装配置为源的副本。为了清楚起见,必须在源数据库的服务器上运行的任何命令都将具有蓝色背景,如下所示: 同样,必须在副本 MySQL 实例的服务器上运行的任何命令都将具有红色背景: 最后,本教程包含有关如何将现有数据库中的数据从源迁移到副本的可选说明。此过程涉及创建源数据库的快照并将生成的文件复制到副本。为此,我们建议您在源服务器服务器上设置 SSH 密钥,然后确保源的公钥已复制到副本。 了解 ..
Ansible 是一个开源配置管理工具,它提供了一个基于 YAML 定义的极简服务器自动化框架。其简化的基础设施要求和可访问的语法帮助 Ansible 成为迄今为止最流行的配置管理工具之一。 与同一类别中的大多数工具不同,Ansible 不需要在远程节点上安装专门的软件。使用 Ansible 软件设置控制机,然后通过标准 SSH 与节点通信,使用 Python 执行远程指令。 Ansible 提供了大量内置模块,以促进常见服务器任务的自动化,例如安装包、创建和管理用户、操作文件和权限以及管理服务。 要了解有关 Ansible 的更多信息,您可以参考以下资源: Ansible 配置管理简介 Ansible 参考指南 Ansible标签下的�..
下载完整的电子书! 如何使用EPUB 格式的CSS 和 HTML电子书构建网站 如何使用PDF 格式的CSS 和 HTML电子书构建网站 电子书简介 这本基于项目的电子书将通过使用我们的演示站点作为模型构建个人网站,向您介绍层叠样式表 (CSS),这是一种用于控制网站呈现的样式表语言。虽然我们的演示站点以鲨鱼萨米为特色,但如果您希望个性化您的站点,您可以用自己的信息来切换萨米的信息。 除了 HTML 和 JavaScript,CSS 是万维网的核心技术之一。如果您对 HTML 有一定的了解并希望提高您的前端开发技能,那么学习 CSS 是一个很好的下一步。 本书的前半部分将通过动手练习介绍 CSS,教程系列的后半部分将提供重新创建演示网站的步骤。 读完这本 CSS 书,您将准备好将网站部署到云的文件,并了解如何使用 HTML 和 CSS 继续修改网站的设计。您还将为学习其他前端 Web 开发技能(如JavaScript)和框架(如Tailwind)打下基础。 下载完整的电子书! 如何使用EPUB 格式的CSS 和 HTML电子书构建网站 如何使用PDF 格式的CSS 和 HTML电子书�..