作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 在Apache Web服务器使用虚拟主机上的单个实例管理多个域。同样,PHP-FPM使用守护进程在单个实例上管理多个 PHP 版本。您可以一起使用 Apache 和 PHP-FPM 来托管多个 PHP Web 应用程序,每个应用程序都使用不同版本的 PHP,都在同一服务器上,并且都在同一时间。这很有用,因为不同的应用程序可能需要不同版本的 PHP,但某些服务器堆栈,如定期配置的 LAMP 堆栈,只能管理一个。与将每个应用程序托管在自己的实例上相比,将 Apache 与 PHP-FPM 相结合也是一种更具成本效益的解决方案。 PHP-FPM也提供配置选项,stderr以及stdout日志记录,紧急重新启动和适应过程产卵,这是重载的网站是有用的。事实上,将 Apache 与 PHP-FPM 结合使用是托管 PHP 应用程序的最佳堆栈之一,尤其是在性能方面。 在本教程中,您将在单个实例上设置两个 PHP 站点。每个站点将使用自己的域,每个域将部署自己的 PHP 版本。第一个,site1.your_domain将部署 PHP 7.0。第二个,site2.your_domain将部署 PHP 7.2。 先决条件 按照 CentOS 7的初始服务器设置设置一台至少具有 1GB RAM 的 CentOS 7 服务器,包括 sudo 非 root 用户和防火墙。 按照如何在 ..
Category : 教程系列
作者选择Creative Commons接受捐赠,作为Write for DOnations计划的一部分。 介绍 您可以使用默认的Create React App构建工具将React应用程序快速部署到服务器。该脚本将应用程序编译到一个包含所有JavaScript代码、图像、样式和HTML文件的目录中。将资产放在一个位置,您可以以最少的配置部署到 Web 服务器。build 在本教程中,您将在本地机器上部署一个 React 应用程序到运行Nginx的Ubuntu 20.04服务器。您将使用 Create React App 构建应用程序,使用 Nginx 配置文件来确定部署文件的位置,并将构建目录及其内容安全地复制到服务器。在本教程结束时,您将能够构建和部署 React 应用程序。 先决条件 在你的本地机器上,你需要一个运行Node.js的开发环境;本教程在 Node.js 版本 10.22.0 和 npm 版本 6.14.6 上进行了测试。要在 macOS 或 Ubuntu 20.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 20.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 一个用于部署的 Ubuntu 20.04 服务器,按照Ubuntu 20.04教程的初始服务器设置进行设置,包括启用 sudo 的非root用户、防火墙和本地计算机的 ..
介绍 使用数据库时,有时您可能需要更改已插入其中的数据。例如,您可能需要更正拼写错误的条目,或者您可能需要将新信息添加到不完整的记录中。 结构化查询语言(通常称为SQL)提供了UPDATE允许用户更改表中现有数据的关键字。 本指南概述了如何使用 SQL 的UPDATE语法来更改一个或多个表中的数据。它还解释了 SQL 如何处理UPDATE与外键约束冲突的操作。 先决条件 要遵循本指南,您需要一台运行某种类型的使用 SQL 的关系数据库管理系统 (RDBMS) 的计算机。本指南中的说明和示例已使用以下环境进行验证: 运行 Ubuntu 20.04 的服务器,具有管理权限的非 root 用户和使用 UFW 配置的防火墙,如我们的 Ubuntu 20.04 初始服务器设置指南中所述。 在服务器上安装并保护 MySQL,如如何在 Ubuntu 20.04 上安装 MySQL 中所述。本指南已使用非 root MySQL 用户进行验证,该用户使用步骤 3中描述的过程创建。 注意:请注意,许多 RDBMS 使用自己独特的 SQL 实现。尽管本教程中概述的命令适用于大多数 RDBMS,但如果您在 MySQL 以外的系统上测试它们,则确切的语法或输出可能会有所不同。 您还需要一个数据库,其中包含一些加载了示例数据的表,您可以使用这些数据来练习更新 SQL 数据。我们鼓励您阅读以下连接到 MySQL 和设置示例数据库部分,详细了解如何连接到 MySQL 服务器并创建本指南示例中使用的测试数据库。 连接到 MySQL 并设置示例数据库 如果您的 ..
介绍 Redis是一种开源的内存键值数据存储,擅长缓存。作为一个非关系型数据库,Redis 以其灵活性、性能、可扩展性和广泛的语言支持而闻名。 Redis 旨在供受信任环境中受信任的客户端使用,并且自身没有强大的安全功能。但是,Redis 确实具有一些安全功能,例如基本的未加密密码以及命令重命名和禁用。本教程提供有关如何安装 Redis 和配置这些安全功能的说明。它还涵盖了一些其他设置,可以提高 CentOS 8 上独立 Redis 安装的安全性。 请注意,本指南不涉及 Redis 服务器和客户端应用程序位于不同主机或不同数据中心的情况。Redis 流量必须穿越不安全或不受信任的网络的安装将需要一组不同的配置,例如在 Redis 机器之间设置 SSL 代理或VPN。 先决条件 要完成本教程,您需要一台运行 CentOS 8 的服务器。该服务器应具有具有管理权限的非 root 用户和配置为firewalld. 要进行设置,请遵循我们的 CentOS 8 初始服务器设置指南。 第 1 步 – 安装和启动 Redis 您可以使用 DNF 包管理器安装 Redis。以下命令将安装 Redis 及其依赖项,以及nano一个用户友好的文本编辑器。您不必安装nano,但我们将在本指南的示例中使用它: sudo dnf install redis nano 此命令将提示您确认是否要安装选定的软件包。按y然后ENTER执行此操作: Output. . . Total download ..
作为Write for DOnations计划的一部分,作者选择了“编码女孩”来接受捐赠。 介绍 Docker是在生产环境中运行 Web 应用程序的一种有效方式,但您可能希望在同一个 Docker 主机上运行多个应用程序。在这种情况下,你需要建立一个反向代理,因为你只是想揭露港口80和443世界其他地区。 Traefik是一个 Docker 感知的反向代理,包括它自己的监控仪表板。在本教程中,您将使用 Traefik 将请求路由到两个不同的 Web 应用程序容器:WordPress容器和Adminer容器,每个容器都与MySQL数据库通信。您将使用Let’s Encrypt将 Traefik 配置为通过 HTTPS 提供所有服务。 先决条件 要学习本教程,您将需要以下内容: 一台 CentOS 7 服务器按照CentOS 7 的初始服务器设置进行设置,包括 sudo 非 root 用户和防火墙。 Docker 安装在您的服务器上,您可以按照如何在 CentOS 7 上安装和使用 Docker 来完成。 按照如何在 CentOS 7 上安装 Docker Compose 中的说明安装 Docker Compose。 一个域和三个 A 记录、db-admin、blog和monitor,每条记录都指向您服务器的 IP 地址。您可以通过阅读 DigitalOcean ..
介绍 Adobe After Effects 是一种生成网络动画的直观方式,但在将这些动画转换为网络应用程序时一直存在问题。通常需要使用第三方程序从 After Effects 导入动画。 其中一个程序是由 Airbnb Design 开发的Lottie。它允许您以轻量级和灵活的格式实时使用这些动画。Lottie 从名为 Bodymovin 的 After Effects 扩展中获取 JSON 数据,并将其转换为可用于 Web 的动画。 在本文中,我们将探索如何使用 Lottie 为我们的 React 应用程序添加动画。为了实现这一点,我们将使用一个 npm 包react-lottie来从 Bodymovin 导出的 JSON 文件中生成可视动画。 注意:由于我们将专注于应用程序方面,因此我们不会介绍如何在 After Effects 中创建这些动画,而是使用设计师在LottieFiles上创建和开源的动画。如果您想使用 After Effects 上的动画,可以使用 After Effects 的 Bodymovin 插件将它们导出为 JSON。 在本教程中,我们将构建一个 React 应用程序,它由两种类型的 Lotties 组成,一种是常规的,另一种是根据状态中的某些值控制动画的。 如果您想查看最终代码,请查看此CodeSandbox 示例。 先决条件 要完成本教程,您需要: ..
作为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。 一个域和三个 ..
作为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 ..
介绍 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 ..
下载完整的电子书! 如何使用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电子书�..