Category : 教程系列

作为Write for DOnations计划的一部分,作者选择了“编码女孩”来接受捐赠。 注意:本教程适用于 Traefik v1。如果你想安装和配置 Traefik v2,请使用这个较新的教程。 介绍 Docker是在生产环境中运行 Web 应用程序的一种有效方式,但您可能希望在同一个 Docker 主机上运行多个应用程序。在这种情况下,你需要建立一个反向代理,因为你只是想揭露港口80和443世界其他地区。 Traefik是一个 Docker 感知的反向代理,包括它自己的监控仪表板。在本教程中,您将使用 Traefik 将请求路由到两个不同的 Web 应用程序容器:WordPress容器和Adminer容器,每个容器都与MySQL数据库通信。您将使用Let’s Encrypt将 Traefik 配置为通过 HTTPS 提供所有服务。 先决条件 要学习本教程,您将需要以下内容: 按照Ubuntu 18.04 初始服务器设置指南设置一台 Ubuntu 18.04 服务器。这包括一个 sudo 非 root 用户和一个防火墙。 Docker 安装在您的服务器上,您可以按照如何在 Ubuntu 18.04 上安装和使用 Docker 来完成。 按照如何在 Ubuntu 18.04 上安装 Docker Compose 中的说明安装 Docker Compose。 一个域和三个 ..

Read more

作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 导入和导出数据库是软件开发中的一项常见任务。您可以使用数据转储来备份和恢复您的信息。您还可以使用它们将数据迁移到新服务器或开发环境。 在本教程中,您将使用MySQL或MariaDB 中的数据库转储(这些命令可以互换)。具体来说,您将导出一个数据库,然后从转储文件中导入该数据库。 先决条件 要导入或导出 MySQL 或 MariaDB 数据库,您需要: 具有非 root sudo 用户的虚拟机。如果您需要服务器,请到此处创建运行您最喜欢的 Linux 发行版的 DigitalOcean Droplet。创建后,从此列表中选择您的发行版并遵循我们的初始服务器设置指南。 已安装 MySQL 或 MariaDB。要安装 MySQL,请按照我们的教程,如何安装 MySQL。要安装 MariaDB,请按照我们的教程如何安装 MariaDB 进行操作。 在您的数据库服务器中创建的示例数据库。要创建一个,请按照我们的教程“MySQL 查询简介”中的“创建示例数据库”进行操作。 注意:作为手动安装的替代方法,您可以探索 DigitalOcean Marketplace 的MySQL 一键式应用程序。 步骤 1 — 导出 MySQL 或 MariaDB 数据库 该mysqldump控制台工具导出数据库SQL文本文件。这使得传输和移动数据库变得更加容易。您将需要您的数据库名称和帐户凭据,该帐户的权限至少允许对数据库进行完全只读访问。 使用mysqldump导出数据库: mysqldump -u username -p database_name > data-dump.sql username ..

Read more

介绍 Terraform使用的Hashicorp 配置语言 (HCL)提供了许多其他编程语言中存在的有用结构和功能。在基础架构代码中使用循环可以大大减少代码重复并提高可读性,从而使未来的重构更容易并具有更大的灵活性。HCL 还提供了一些常见的数据结构,例如列表和映射(在其他语言中也分别称为数组和字典),以及执行路径分支的条件。 Terraform 的独特之处在于能够手动指定所依赖的资源。虽然它在运行代码时构建的执行图已经包含检测到的链接(在大多数情况下都是正确的),但您可能会发现自己需要强制一个 Terraform 无法检测到的依赖关系。 在本文中,我们将回顾 HCL 提供的数据结构、它的资源循环功能(count键for_each、 和for),编写条件来处理已知和未知值,以及明确指定资源之间的依赖关系。 先决条件 一个 DigitalOcean 帐户。如果您没有,请注册一个新帐户。 DigitalOcean 个人访问令牌,您可以通过 DigitalOcean 控制面板创建。可以在此链接中找到执行此操作的说明:如何生成个人访问令牌。 Terraform 安装在您的本地计算机上,并使用 DigitalOcean 提供商设置了一个项目。完成步骤1和步骤2中的如何使用Terraform与DigitalOcean教程,并确保该项目命名文件夹terraform-flexibility,而不是loadbalance。在步骤 2 中,您不需要包含pvt_key变量和 SSH 密钥资源。 添加到您的 DigitalOcean 帐户的完全注册的域名。有关如何执行此操作的说明,请访问官方文档。 注意:本教程已专门使用 Terraform 进行了测试0.13。 HCL 中的数据类型 在本节中,在您详细了解 HCL 的循环和其他使您的代码更加灵活的功能之前,我们将首先介绍可用的数据类型及其用途。 Hashicorp 配置语言支持原始和复杂的数据类型。原始数据类型是字符串、数字和布尔值,它们是不能从其他类型派生的基本类型。另一方面,复杂类型将多个值组合成一个。两种类型的复数值是结构类型和集合类型。 结构类型允许将不同类型的值组合在一起。主要示例是用于指定基础架构外观的资源定义。与结构类型相比,集合类型也对值进行分组,但仅限于相同类型的值。我们感兴趣的 HCL 中可用的三种集合类型是列表、映射和集合。 列表 列表类似于其他编程语言中的数组。它们包含已知数量的相同类型的元素,可以使用数组符号 ( []) 通过它们的整数索引访问这些元素,从 0 开始。这是一个列表变量声明的示例,其中包含您将部署的 Droplet 的名称在接下来的步骤中: variable ..

Read more

下载完整的电子书! 如何使用EPUB 格式的HTML电子书构建网站 如何使用PDF 格式的HTML电子书构建网站 电子书简介 如果您有兴趣学习如何构建和设计网站,超文本标记语言 (HTML) 是一个很好的起点。这本基于项目的书将通过使用我们的演示站点(如下)作为模型构建个人网站,向您介绍 HTML 及其方法。一旦您学习了基础知识,您就会知道如何更改网站的设计并添加个性化内容。遵循本书中的章节不需要任何先前的编码经验。 HTML 是用于在 Web 浏览器中显示文档的标准标记语言。HTML 最初由 Tim Berners Lee 于 1990 年在欧洲核研究组织 (CERN) 工作期间开发,是 1991 年 8 月 6 日用于发布世界上第一个网站的关键创新技术之一。 感谢 CERN 的修复项目,您现在可以重新访问原始网站。从那时起,HTML 得到了显着的更新和扩展,但其格式化和构建网页的基本目的保持不变。 今天,HTML 是用于构建网络的众多工具之一。了解如何编写 HTML 将为您作为 Web 设计师的职业生涯奠定坚实的基础,并为您学习其他前端 Web 开发技能(如 CSS 和 JavaScript)做好准备。 在本书中,您将学习如何使用常见的 HTML 标签和技术创建和自定义网站。完成本书后,您将拥有一个可以部署到云的站点。 下载完整的电子书! 如何使用EPUB 格式的HTML电子书构建网站 如何使用PDF 格式的HTML电子书�..

Read more

介绍 处理从 API 检索和显示数据的一种方法是将用户路由到组件,然后在该组件的ngOnInit挂钩中调用服务中的方法以获取必要的数据。在获取数据时,也许组件可以显示加载指示器。 还有另一种使用所谓的 a 的方法route resolver,它允许您在导航到新路线之前获取数据。 一种可用的 API 是Hacker News API。Hacker News 是一个分享链接和讨论链接的网站。该 API 可用于检索最受欢迎的帖子并显示有关单个帖子的信息。 在本教程中,您将实现一个路由解析器,在导航到显示收集到的数据的路由之前从 Hacker News API 获取数据。 先决条件 要完成本教程,您需要: Node.js 安装在本地,您可以按照如何安装 Node.js 和创建本地开发环境来完成。 对设置 Angular 项目有一定的了解。 本教程已通过 Node v15.3.0、npmv6.14.9、@angular/corev11.0.1、@angular/commonv11.0.1、@angular/routerv11.0.1 和rxjsv6.6.0 验证。 步骤 1 — 设置项目 出于本教程的目的,您将从使用@angular/cli. npx @angular/cli new angular-route-resolvers-example –style=css –routing –skip-tests 这将配置一个新的 Angular 项目,其样式设置为“CSS”(与“Sass”、Less 或“Stylus”相反)、启用路由并跳过测试。 导航到新创建的项目目录: cd angular-route-resolvers-example ..

Read more

介绍 在之前的教程“如何创建 Django 应用程序并将其连接到数据库”中,我们介绍了如何创建 MySQL 数据库、如何创建和启动 Django 应用程序以及如何将其连接到 MySQL 数据库。 在本教程中,我们将创建 Django模型来定义我们将存储的博客应用程序数据的字段和行为。这些模型将数据从 Django 应用程序映射到数据库。这是 Django 用来通过其对象关系映射 (ORM) API(称为“模型”)生成数据库表的工具。 先决条件 本教程是Django 开发系列的一部分,是该系列的延续。 如果您还没有关注本系列,我们将做出以下假设: 您已安装 Django 版本 3 或更高版本。 您已将 Django 应用程序连接到数据库。我们正在使用 MySQL,您可以按照 Django 系列的第二部分“如何创建 Django 应用程序并将其连接到数据库”来实现这种连接。 您正在使用基于 Unix 的操作系统,最好是 Ubuntu 20.04 云服务器,因为这是我们测试过的系统。如果您想在类似的环境中设置 Django,请参阅我们的教程,“如何在 Ubuntu 20.04 上安装 Django 并设置开发环境”。 由于本教程主要涉及 Django 模型,因此即使您的设置有所不同,您也可以继续学习。 第 1 步 – 创建 ..

Read more

介绍 Nginx 是世界上最受欢迎的 Web 服务器之一,负责托管互联网上一些最大和流量最高的站点。在大多数情况下,它比 Apache 更资源友好,并且可以用作 Web 服务器或反向代理。 在本指南中,我们将解释如何在 Ubuntu 20.04 服务器上安装 Nginx。有关本教程的更详细版本,请参阅如何在 Ubuntu 20.04 上安装 Nginx。 第 1 步 – 安装 Nginx 由于 Nginx 在 Ubuntu 的默认存储库中可用,因此您可以使用apt打包系统安装它。 更新您的本地包索引: sudo apt update 安装 Nginx: sudo apt install nginx 步骤 2 – 调整防火墙 如果您遵循先决条件服务器设置教程,那么您已启用 UFW 防火墙。ufw使用以下命令检查可用的应用程序配置文件: sudo ufw app list OutputAvailable applications: Nginx Full Nginx ..

Read more

介绍 颜色渐变采用起始颜色和位置以及结束颜色和位置。然后它执行颜色之间的过渡。考虑到色彩理论,它们可以使应用程序在视觉上比普通设计更有趣。 在本文中,您将使用BoxDecoration‘s LinearGradient和gradient_app_barpackage将渐变应用于 Flutter 应用程序。 先决条件 要完成本教程,您需要: 下载并安装Flutter。 下载并安装Android Studio 或 Visual Studio Code。 建议为您的代码编辑器安装插件: Flutter和Dart为 Android Studio 安装的插件。 Flutter 为 Visual Studio Code 安装的扩展。 本教程通过 Flutter v1.22.2、Android SDK v30.0.2、Android Studio v4.1 验证。 步骤 1 — 设置项目 为 Flutter 设置环境后,您可以运行以下命令来创建新应用程序: flutter create flutter_gradient_example 导航到新的项目目录: cd flutter_gradient_example 使用flutter create将生成一个演示应用程序,该应用程序将显示单击按钮的次数。 第 2 步 – 使用 LinearGradient ..

Read more

作者选择了公共利益软件 (SPI)来接受捐赠,作为Write for DOnations计划的一部分。 介绍 通常,基于 Linux 的服务器不会预装图形用户界面 (GUI)。每当您想在实例上运行 GUI 应用程序时,典型的解决方案是采用虚拟网络计算 (VNC)。不幸的是,VNC 解决方案可能缓慢且不安全;许多还需要大量的手动配置。相比之下,X2Go提供了一个可工作的“云桌面”,具有始终在线、可远程访问且易于扩展的计算系统以及快速网络的所有优势。与许多 VNC 解决方案相比,它也更灵敏、更安全。 在本教程中,您将使用 X2Go 创建一个可以远程访问的XFCE桌面环境。如果您在个人计算机上安装了 Ubuntu 18.04 和 XFCE 环境(几乎与Xubuntu设置相同),则此云桌面将包含相同的实用程序。 本教程中描述的设置在以下情况下很有用: 您需要访问基于 Linux 的操作系统,并带有桌面环境,但无法将其安装在您的个人计算机上。 您在多个位置使用多台设备,并希望获得具有相同工具、外观、文件和性能的一致工作环境。 您的 Internet 服务提供商为您提供的带宽非常少,但您需要访问数十或数百 GB 的数据。 长时间运行的作业会使您的本地计算机数小时或数天不可用。想象一下,您必须编译一个大型项目,这将在您的笔记本电脑上花费 8 小时。在您的项目编译期间,您将无法观看电影或做任何非常耗费资源的事情。但是,如果您在服务器上运行该作业,现在您的计算机可以自由执行其他任务。 您正在与一个团队合作,他们有一台共享计算机可以访问以在项目上进行协作,这将使他们受益。 先决条件 在开始本教程之前,您需要: 具有 2GB 或更多 RAM 的 Ubuntu 18.04 x64 实例。2GB 是最小的,但是如果您计划运行内存占用很大的应用程序,那么 4GB 或更多的服务器是理想的选择。如果您愿意,可以使用DigitalOcean Droplet。 具有sudo权限和 SSH 密钥的用户。按照本指南开始:使用 ..

Read more

介绍 在本快速入门指南中,我们将在 Ubuntu 20.04 服务器上安装 LEMP 堆栈。 有关本教程的更详细版本以及每个步骤的更多解释,请参阅如何在 Ubuntu 20.0 上安装 Linux、Nginx、MySQL、PHP(LEMP 堆栈) 先决条件 要遵循本指南,您需要以sudo用户身份访问 Ubuntu 20.04 服务器。 第 1 步 — 安装 Nginx 更新您的包管理器缓存,然后使用以下命令安装 Nginx: sudo apt update sudo apt install nginx 安装完成后,您需要调整防火墙设置以允许服务器上的 HTTP 流量。运行以下命令以允许端口80(HTTP)上的外部访问: sudo ufw allow in “Nginx” 添加新的防火墙规则后,您可以通过从 Web 浏览器访问服务器的公共 IP 地址或域名来测试服务器是否已启动并正在运行。你会看到一个这样的页面: 第 2 步 – 安装 MySQL 我们现在将安装 MySQL,这是一种在 PHP ..

Read more