本教程的先前版本由Hazel Virdó 编写 介绍 MySQL是一个开源数据库管理系统,通常作为流行的LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的一部分安装。它实现了关系模型并使用结构化查询语言(也称为 SQL)来管理其数据。 本教程将介绍如何8.0在 Ubuntu 20.04 服务器上安装 MySQL 版本。通过完成它,您将拥有一个可用于构建下一个网站或应用程序的工作关系数据库。 先决条件 要学习本教程,您需要: 一台 Ubuntu 20.04 服务器,具有非 root 管理用户和使用 UFW 配置的防火墙。要进行设置,请按照我们针对 Ubuntu 20.04 的初始服务器设置指南进行操作。 第 1 步 – 安装 MySQL 在 Ubuntu 20.04 上,您可以使用 APT 包存储库安装 MySQL。在撰写本文时,默认 Ubuntu 存储库中可用的 MySQL 版本为8.0.19版。 要安装它,如果您最近没有更新服务器上的包索引: sudo apt update 然后安装mysql-server包: sudo apt install mysql-server 这将安装 MySQL,但不会提示您设置密码或进行任何其他配置更改。因为这会使您的 MySQL 安装不安全,所以我们将在接下来解决这个问题。 ..
Category : 教程系列
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 现代 Web 应用程序与其他服务器通信以完成任务是很常见的。例如,允许您在线购买图书的 Web 应用程序可能涉及客户订单服务器、图书库存服务器和支付服务器之间的通信。在此设计中,不同的服务通过 Web API 进行通信——标准格式允许您以编程方式发送和接收数据。在Node.js应用程序中,您可以通过发出 HTTP 请求与 Web API 进行通信。 Node.js 捆绑了一个http和 一个https模块。这些模块具有创建 HTTP 服务器的功能,以便 Node.js 程序可以响应 HTTP 请求。他们还可以向其他服务器发出 HTTP 请求。这一关键功能使 Node.js 程序员能够使用 Node.js 创建现代的、API 驱动的 Web 应用程序。由于它是核心模块,因此您无需安装任何库即可使用它。 在本教程中,您将使用该https模块向JSON Placeholder发出 HTTP 请求,这是一个用于测试目的的假REST API。您将首先发出GET请求,即接收数据的标准 HTTP 请求。然后,您将查看自定义请求的方法,例如添加标头。最后,您将发出POST、PUT和DELETE请求,以便您可以修改外部服务器中的数据。 先决条件 本教程要求您安装了 Node.js。安装后,您将能够访问https本教程中使用的模块。本教程使用 Node.js 版本 10.19.0。要在 macOS 或 Ubuntu 18.04 上安装 Node.js,请按照如何在 ..
介绍 本文将向您展示如何向 HTML 添加注释。 先决条件 HTML5 的一般知识。要全面了解 HTML5 标记语言,请浏览我们的系列“如何用 HTML 构建网站”。 在 HTML 中添加注释 这是您在 HTML 中创建评论的方式: <!– I’m a comment! –> 在第二个示例中,我们使用 HTML 注释来注释掉一些标记: <!– Look, a shark! <p>Sammy</p> –> 结论 创建注释是编写 HTML 的一个重要元素。 要更全面地了解 HTML5 标记语言,请浏览我们的系列,如何用 HTML 构�..
介绍 在 Kubernetes 集群上运行多个服务和应用程序时,集中的集群级日志堆栈可以帮助您快速整理和分析 Pod 产生的大量日志数据。一种流行的集中记录的解决方案是Ë lasticsearch,˚F luentd和ķ ibana(EFK)堆栈。 Elasticsearch是一个实时、分布式和可扩展的搜索引擎,支持全文和结构化搜索以及分析。它通常用于索引和搜索大量日志数据,但也可用于搜索许多不同类型的文档。 Elasticsearch 通常与Kibana一起部署,Kibana是 Elasticsearch的强大数据可视化前端和仪表板。Kibana 允许您通过 Web 界面探索您的 Elasticsearch 日志数据,并构建仪表板和查询以快速回答问题并深入了解您的 Kubernetes 应用程序。 在本教程中,我们将使用Fluentd收集、转换日志数据并将其传送到 Elasticsearch 后端。Fluentd 是一个流行的开源数据收集器,我们将在我们的 Kubernetes 节点上设置它来跟踪容器日志文件、过滤和转换日志数据,并将其传送到 Elasticsearch 集群,在那里它会被索引和存储。 我们将首先配置和启动一个可扩展的 Elasticsearch 集群,然后创建 Kibana Kubernetes 服务和部署。最后,我们将 Fluentd 设置为 DaemonSet,以便它在每个 Kubernetes 工作节点上运行。 先决条件 在您开始阅读本指南之前,请确保您已准备好以下内容: 启用了基于角色的访问控制 (RBAC) 的 Kubernetes 1.10+ 集群 确保您的集群有足够的资源来推出 EFK 堆栈,如果没有,请通过添加工作节点来扩展您的集群。我们将部署一个 3 Pod Elasticsearch 集群(如有必要,您可以将其缩减为 1),以及一个 ..
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 Gmail 和 Google Apps 电子邮件的一个鲜为人知的功能是 Google 的便携式 SMTP 服务器。您不必在DigitalOcean Droplet或Kubernetes Cluster上管理您自己的外发邮件服务器,您可以使用您希望发送电子邮件的任何脚本或程序来配置 Google 的 SMTP 服务器设置。您只需要 (i) 免费的 Gmail 帐户,或 (ii) 付费的 G Suite 帐户。 好处 您可以选择让 Google 存储您通过其 SMTP 服务器发送的电子邮件并将其编入索引,因此您发送的所有电子邮件都可以在 Google 的服务器上进行搜索和备份。如果您也选择使用 Gmail 或 G Suite 帐户接收收到的电子邮件,那么您可以将所有电子邮件放在一个方便的地方。此外,由于 Google 的 SMTP 服务器不使用 port 25,您将降低 ISP 阻止您的电子邮件或将其标记为垃圾邮件的可能性。 设置 Google 的 SMTP 服务器需要身份验证,因此在您的邮件客户端或应用程序中设置它的方法如下: ..
介绍 对于短request的req对象的一半request,并response循环检查从客户端调用,使HTTP请求,并处理传入的数据是否在字符串或JSON对象。 在本文中,您将了解reqExpress 中的对象。 先决条件 要阅读本文,您需要: 建议对 Node.js 有一个大致的了解,但不是必需的。要了解有关 Node.js 的更多信息,请查看我们的如何在 Node.js 中编码系列。 HTTP 请求的一般知识。 管理客户端数据 Express服务器通过接收来自客户端的数据req的:对象在三个实例req.params,req.query和req.body对象。 该req.params对象根据 URL 中指定的参数捕获数据。在您的index.js文件中,GET使用以下参数实现请求’/:userid’: 索引.js // GET https://example.com/user/1 app.get(‘/:userid’, (req, res) => { console.log(req.params.userid) // “1” }) 该req.params对象告诉 Express 通过参数 输出用户 id 的结果’/:userid’。在这里,带有指定参数的GET请求以https://example.com/user/1id 登录到控制台”1″。 要访问 URL 查询字符串,请将req.query对象应用于搜索、过滤和排序数据。在您的index.js文件中,包含GET对路由的请求’/search’: 索引.js // GET https://example.com/search?keyword=great-white app.get(‘/search’, (req, res) => { console.log(req.query.keyword) // “great-white” ..
作为Write for DOnations计划的一部分,作者选择了技术教育基金来接受捐赠。 介绍 一个服务网是一个专门的基础设施层,帮助管理员处理服务到服务的通信。这些服务网格提供了许多强大的工具,可以使您的系统更安全、更可靠、更可见。 例如,像Linkerd这样的服务网格可以自动加密连接、处理请求重试和超时、提供成功率和延迟等遥测信息等。 在本教程中,您将在Kubernetes集群中安装 Linkerd 服务网格,部署示例应用程序,然后浏览 Linkerd 的仪表板。有一些这方面的信息仪表盘自己熟悉后,您将配置Linkerd执行timeout和retry特定Kubernetes荚政策。 或者,考虑探索DigitalOcean 的一键 Linkerd/Kubernetes 安装选项。 先决条件 Kubernetes 1.12+ 集群。在本教程中,设置将使用具有三个节点的DigitalOcean Kubernetes集群,但您可以使用另一种方法自由创建集群。 kubectl安装在开发服务器上并配置为连接到集群的命令行工具。您可以kubectl在其官方文档中阅读有关安装的更多信息。 第 1 步 – 部署应用程序 要查看 Linkerd 的运行情况,您需要在集群中运行一个应用程序。在此步骤中,您将部署称为应用程序emojivoto,其中Linkerd团队为此创建。 在此存储库中,您可以看到组成应用程序的四个服务的代码,以及将用于在 Kubernetes 集群中部署这些服务的清单文件。 首先,在本地保存这个清单文件: curl https://run.linkerd.io/emojivoto.yml –output manifest.yaml 您正在使用curl获取文件,然后传递–output选项以告诉它您要将文件保存在哪里。在这种情况下,您正在创建一个名为manifest.yaml. 为了更好地了解此文件将完成的任务,请cat使用您喜欢的编辑器检查其内容或将其打开: cat manifest.yaml | less 按SPACE翻阅指令。您将看到manifest.yaml正在创建一个名为 Kubernetes 命名空间的命名空间emojivoto,与此应用程序相关的所有内容都将在其中运行,以及一些 KubernetesDeployments和Services. 接下来,在您的 Kubernetes 集群中应用此清单: kubectl apply -f manifest.yaml 同样,你用kubectl ..
介绍 在 PHP 中处理日期和时间可能很复杂。我们必须处理strtotime、格式问题、大量计算等等。 将碳包可以帮助交易日期和时间在PHP更容易和更语义,使我们的代码变得更具可读性和可维护性。 Carbon 是Brian Nesbit 的一个包,它扩展了 PHP 自己的DateTime类。 它提供了一些很好的功能来处理 PHP 中的日期。具体如: 处理时区。 轻松获取当前时间。 将日期时间转换为可读的内容。 将英语短语解析为日期时间 ( “first day of January 2016”)。 添加和减去日期 ( “+ 2 weeks”, “-6 months”)。 处理日期的语义方式。 在本文中,您将安装 Carbon 并探索它提供的特性和功能。 先决条件 要遵循本指南,您需要满足以下先决条件: 一个有效的 Laravel 开发环境。要进行设置,您可以按照我们关于如何在 Ubuntu 20.04 上安装和配置 Laravel 应用程序的指南进行操作。 或者,按照Larvel 安装文档。如果您选择 Laravel Sail 方法,您将需要 Docker。 本教程已通过 PHP v8.0.5、Composer v2.0.13、MySQL ..
介绍 WordPress是世界上最受欢迎的内容管理和博客平台之一,可让您高效地创建和管理网站内容。 本教程将分享使用WordPress 一键式应用程序设置 WordPress 网站所需的所有详细信息。 包含的软件 除了安装在常规 Ubuntu 20.04 Droplet 中的功能外,WordPress 一键式图像还包括以下组件: Apache:使用最广泛的 Web (HTTP) 服务器。 MySQL:一种常用的开源关系数据库。 PHP : PHP 语言支持。 这些组件创建了LAMP 堆栈,这是一组通常安装在一起的开源软件,以使服务器能够托管 WordPress 等动态网站。术语LAMP是一个表示的结构的首字母缩写大号inux下操作系统与甲帕什Web服务器,与存储在网站上的数据中号ySQL数据库和通过处理的动态内容P HP。 为了提高安全性,还包括以下附加组件: UFW:简化防火墙管理的程序。 fail2ban:一种自动更新防火墙配置以阻止攻击者的服务。 在本教程中,我们将创建一个 WordPress 一键式 Droplet,然后解释如何设置您的 WordPress 站点、配置域以及共享有关如何访问 MySQL 数据库的信息。 第 1 步 – 创建一个 WordPress Droplet 要从一键式应用程序页面创建 WordPress Droplet,请按创建 WordPress Droplet按钮: 这会将您带到“创建 Droplet”页面,您可以在其中自定义设置,然后再创建 WordPress Droplet。如何创建您的第一个 Droplet详细描述了每个选择。下面,我们将重点介绍关键设置: ..
结构化查询语言(通常称为 SQL)是一种用于定义、控制、操作和查询关系数据库中保存的数据的语言。自 1970 年代初首次开发以来,SQL 已被广泛采用,如今它已成为用于与关系数据库管理系统交互的主要语言。SQL 非常适合管理结构化数据,这些数据可以巧妙地融入现有数据模型。学习如何使用 SQL 是开发人员和系统管理员在各种环境中的一项基本技能。 SQL 标准由两个组织定义:美国国家标准协会 (ANSI) 和国际标准化组织 (ISO)。但是,关系数据库管理系统通常会实现自己的自定义 SQL 子集,并且这些系统很少完全符合 SQL 标准。通常,这些独特的实现包括特殊功能 — 称为 SQL 扩展 — 未包含在标准中,但为用户提供了其他 SQL 实现中可能不可用的有用功能。 有关 SQL 的更多教育资源,请访问: 如何使用 SQL 了解关系数据库 SQLite vs MySQL vs PostgreSQL:关系数据库管理系统的比较 可以在我们的SQL 标记页面上找到我们关于 SQL 的教育资源的完�..