该系列的一部分: 常见的 Apache 错误 本教程系列介绍了如何对使用Apache Web 服务器时可能遇到的一些最常见错误进行故障排除和修复。 本系列中的每个教程都包含对常见 Apache 配置、网络、文件系统或权限错误的描述。本系列首先概述了可用于对 Apache 进行故障排除的命令和日志文件。后续教程详细检查特定错误。 介绍 共有三个主要命令和一组常见的日志位置,您可以使用它们开始对 Apache 错误进行故障排除。通常,当您对 Apache 进行故障排除时,您将按照此处指示的顺序使用这些命令,然后检查日志文件中的特定诊断数据。 您通常用于在大多数 Linux 发行版中对 Apache 进行故障排除的命令是: systemctl– 用于通过systemd服务管理器控制 Linux 服务并与之交互。 journalctl– 用于查询和查看由systemd.生成的日志。 apachectl – 故障排除时,此命令用于检查Apache 的配置。 这些命令、如何使用它们以及您可以在其中找到有关错误的其他信息的 Apache 日志位置在以下部分中进行了更详细的描述。 注意:在 Debian 和 Ubuntu 系统上,Apache 服务和进程名称是apache2,而在 CentOS、Fedora 和其他 RedHat 派生系统上,Apache 的服务和进程名称是httpd. 除了服务和正在运行的进程名称之间的差异外,启动、停止和检查 Apache 的状态以及日志journalctl在systemd用于管理 Apache 服务的任何 Linux 系统上都应该相同。请确保为您的 Linux ..
Category : 教程系列
作者选择了COVID-19 救济基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 GraphQL是一种用于 API 的查询语言,它由架构定义语言和查询语言组成,它允许 API 使用者仅获取他们需要的数据以支持灵活查询。GraphQL 使开发人员能够在满足多个客户端(例如 iOS、Android 和应用程序的 Web 变体)的不同需求的同时改进 API。此外,GraphQL 模式为 API 增加了一定程度的类型安全性,同时也作为 API 的一种文档形式。 Prisma是一个开源数据库工具包。它由三个主要工具组成: Prisma Client:用于 Node.js 和 TypeScript 的自动生成和类型安全的查询构建器。 Prisma Migrate:声明式数据建模和迁移系统。 Prisma Studio:用于查看和编辑数据库中数据的 GUI。 Prisma 为希望专注于实现增值功能而不是将时间花在复杂的数据库工作流(例如模式迁移或编写复杂的 SQL 查询)上的应用程序开发人员使用数据库提供便利。 在本教程中,您将结合使用 GraphQL 和 Prisma,因为它们的职责相辅相成。GraphQL 为您的数据提供了一个灵活的接口,以便在客户端(例如前端和移动应用程序)中使用——GraphQL 不依赖于任何特定的数据库。这就是 Prisma 处理与存储数据的数据库交互的地方。 DigitalOcean 的应用程序平台提供了一种在云中部署应用程序和配置数据库的无缝方式,而无需担心基础设施。这减少了在云中运行应用程序的运营开销;尤其是能够创建具有每日备份和自动故障转移的托管 PostgreSQL 数据库。App Platform 具有原生 Node.js 支持简化部署。 您将使用 Node.js ..
Laravel 是一个免费的开源 PHP 框架,它提供了一组工具和资源来构建现代 PHP 应用程序。凭借利用其内置功能的完整生态系统以及各种兼容的包和扩展,Laravel 的受欢迎程度在过去几年中迅速增长,许多开发人员采用它作为简化开发过程的首选框架。 Laravel提供了强大的数据库工具,包括称为ORM(对象关系映射器)口才,以及内置的用于创建机制数据库迁移和播种机。使用命令行工具 Artisan,开发人员可以引导新模型、控制器和其他应用程序组件,从而加快整体应用程序开发。 有关 Laravel 的基于项目的介绍,您可以参考我们的系列如何使用 Laravel 和 Docker Compose 在 PHP 中构建链接登陆页面,其中介绍了如何在容器化开发环境中引导新的 Laravel 应用程序,如何交互与数据库,以及如何自定义页面模板视图以显示精选链接列表。 对于其他 Laravel 教程,请参阅我们关于该框架的综合教育材�..
介绍 在编写动态和可重用的代码时,遵循不要重复自己 ( DRY ) 原则很重要。使用泛型可以帮助您在 TypeScript 代码中实现这一点。 使用泛型,您可以编写动态且可重用的泛型代码块。此外,您可以将 TypeScript 中的泛型应用于类、接口和函数。 在本文中,您将把泛型集成到您的 TypeScript 代码中,并将它们应用到函数和类中。您还将学习如何使用接口向 TypeScript 中的泛型添加约束。 先决条件 要成功完成本教程,您需要具备以下条件: 您的机器上安装了最新版本的 TypeScript。此如何设置新的 TypeScript 项目教程可以帮助您完成此操作。 ts-node安装的最新版本。如果你想测试和运行你的 TypeScript 代码,这是必要的。这个使用 ts-node教程轻松运行 TypeScript 脚本是一个很好的起点。 熟悉在 TypeScript 中编写函数和类。 步骤 1 — 理解泛型 有时,您可能希望为不同的数据类型重复相同的代码块。这是用于两种不同数据类型的相同函数的示例: // for number type function fun(args: number): number { return args; } // for string type function fun(args: string): ..
介绍 WordPress 是一种非常流行的开源技术,用于在当今互联网上制作网站和博客。63% 的使用内容管理系统 (CMS) 的网站使用 WordPress 网站,占当前所有在线网站的 36%。 有许多不同的方法可以访问 WordPress,并且某些设置过程比其他过程更复杂。本教程适用于希望通过命令行在非托管云服务器上安装和管理 WordPress 实例的人员。尽管这种方法需要比现成的 WordPress 安装更多的步骤,但它为管理员提供了对其 WordPress 环境的更大控制。 如果您想访问现成的 WordPress 安装,DigitalOcean Marketplace 提供一键式应用程序,让您在启动服务器时通过安装开始使用 WordPress。 根据您的需求和目标,您可能会找到其他更合适的选项。作为开源软件,WordPress 可以免费下载和安装,但要在网络上使用,您可能需要购买云基础设施和域名。如果您有兴趣完成服务器端安装和 WordPress 站点的设置,请继续遵循本指南。 本教程将使用 LAMP(L inux、A pache、M ySQL 和P HP)堆栈,这是通过提供 Linux 操作系统、Apache Web 服务器、MySQL 数据库和 PHP 来支持 WordPress 的服务器架构的一种选择编程语言。我们将在 Linux Ubuntu 20.04 服务器上通过 LAMP 安装和设置 WordPress。 先决条件 为了完成本教程,您需要访问 Ubuntu 20.04 服务器,并且需要在开始本指南之前完成以下步骤: ..
介绍 虚拟网络计算或 VNC 是一种连接系统,允许您使用键盘和鼠标与远程服务器上的图形桌面环境进行交互。对于还不熟悉命令行的用户来说,它使管理远程服务器上的文件、软件和设置变得更加容易。 在本指南中,您将在 Ubuntu 18.04 服务器上设置 VNC 服务器并通过 SSH 隧道安全地连接到它。您将使用TightVNC,这是一个快速且轻便的远程控制包。此选择将确保我们的 VNC 连接即使在较慢的互联网连接上也能流畅稳定。 先决条件 要完成本教程,您需要: 按照Ubuntu 18.04 初始服务器设置指南设置一台 Ubuntu 18.04 服务器,包括一个 sudo 非 root 用户和一个防火墙。 安装了 VNC 客户端的本地计算机,支持通过 SSH 隧道进行 VNC 连接。 在 Winows 上,您可以使用TightVNC、RealVNC或UltraVNC。 在 macOS 上,您可以使用内置的屏幕共享程序,也可以使用RealVNC等跨平台应用程序。 在 Linux 上,您可以从许多选项中进行选择,包括 vinagre、krdc、RealVNC或TightVNC。 步骤 1 — 安装桌面环境和 VNC 服务器 默认情况下,Ubuntu 18.04 服务器没有安装图形桌面环境或 VNC 服务器,因此我们将从安装它们开始。具体来说,我们将为最新的Xfce桌面环境和官方 Ubuntu ..
集成开发环境 (IDE) 是一种软件应用程序,允许开发人员在一个环境中设计、构建、测试和调试计算机程序。 文本编辑器、终端、调试工具和代码片段是可能包含在 IDE 中的工具。许多 IDE 包括用于特定编程语言的附加扩展和工具。 要了解有关如何在云上使用 IDE 的更多信息,请查看我们的教程“如何在 Ubuntu 20.04 上设置代码服务器云 IDE �..
介绍 我仍然记得最终能够在 node 中编写更大应用程序的后端部分的满足感,我相信你们中的许多人也这样做了。 然后?我们需要确保我们的应用程序按照我们期望的方式运行,强烈建议的方法之一是软件测试。每当向系统添加新功能时,软件测试都非常有用:已经设置了可以使用单个命令运行的测试环境有助于确定新功能是否引入了新错误。 过去,我们致力于使用 JSON Web Tokens 和 Passport进行Node API 身份验证。 在本教程中,我们将使用 Node.js 编写一个简单的 RESTful API,并使用Mocha和Chai编写针对它的测试。我们将在书店上测试 CRUD 操作。 像往常一样,您可以在整个教程中逐步构建应用程序,也可以直接在github上获取它。 Mocha:测试环境 Mocha是 Node.js 的 javascript 框架,它允许异步测试。假设它提供了一个环境,我们可以在其中使用我们最喜欢的断言库来测试代码。 . Mocha 有很多很棒的功能,网站显示了一个很长的列表,但这里是我最喜欢的: 简单的异步支持,包括承诺。 异步测试超时支持。 before, after, before each, after each hooks(对于清理每次测试的环境非常有用!)。 使用任何你想要的断言库,我们教程中的 Chai。 Chai:断言库 因此,使用 Mocha 我们实际上拥有进行测试的环境,但是例如,我们如何测试 HTTP 调用?此外,在给定定义的输入的情况下,我们如何测试 GET 请求是否实际返回了我们期望的 JSON 文件?我们需要一个断言库,这就是为什么 mocha 是不够的。 所以这里是Chai,当前教程的断言库: Chai ..
作者选择了技术多样性基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 层叠样式表,更广为人知的名称是 CSS,是一种用于 Web 视觉样式和设计的语言。CSS 在 Web 上有着悠久的历史,其最初的想法可以追溯到 1994 年。从那时起,CSS 已成为一种功能丰富的语言,能够布置网页、创建复杂的动画等等。 由于 CSS 是 Web 的样式语言,因此了解它的工作原理以及如何使用它是 Web 开发的基础。为了有效地使用超文本标记语言 (HTML)和JavaScript,理解它特别有价值。本教程将重点介绍将 CSS 应用于 HTML、级联和特殊性,这些是 CSS 的基础方面,并将为您在 Web 项目中有效使用 CSS 做好准备。 CSS 不是传统的编程语言。虽然它确实具有其他编程语言中的一些功能,例如变量和数学,但 CSS 完全依赖于 HTML 来工作。CSS 的目的是为 HTML 提供可视化修改。CSS 语言更像是浏览器的待办事项列表:您对浏览器说,这是我希望您找到的事情列表。一旦浏览器找到这些东西,CSS 就会指示浏览器浏览子集列表并对这些东西进行更改。 浏览器毫无疑问地从上到下遵循这个指令列表,编写 CSS 时需要牢记这一点。级联样式表的级联部分说明浏览器如何读取列表。由于浏览器是公正的,它会在遇到它们时更改样式。如果 CSS 说让一些 HTML 元素变成红色,然后在 CSS 后面说让这些元素变成蓝色,结果就是蓝色。 将样式应用到元素有点复杂,因为有很多方法可以告诉浏览器在 HTML 中查找元素。HTML 中的每个元素都有一组属性,可用于查找特定元素。由于浏览器从上到下公正地读取指令的级联,提供的指令必须是具体的。这称为特殊性,开发人员必须为浏览器编写精确的标准,以找到他们希望应用样式的确切元素。 ..
作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 SQLite是一个免费的跨平台数据库管理系统。它因其效率和与许多不同编程语言接口的能力而广受欢迎。 在本教程中,您将在 Ubuntu 20.04 上安装 SQLite。然后,您将创建一个数据库、从中读取数据、插入项目、删除项目以及从单独的表中连接项目。 注意:本教程包括安装和使用 SQLite 的实用说明。它不涉及更大的概念问题和生产问题,例如何时应该或不应该考虑使用 SQLite 数据库。有关流行的关系数据库及其比较方式的出色概述,请查看我们的文章SQLite 与 MySQL 与 PostgreSQL:关系数据库管理系统的比较。 此外,许多语言保持与 SQLite 的集成。有关在 Python 代码中使用 SQLite 的说明,请查看我们的教程,如何sqlite3在 Python 3 中使用模块。 先决条件 要完成本教程,您需要: 运行 Ubuntu 20.04 的本地机器或服务器。要设置服务器,包括非 root sudo 用户和防火墙,您可以创建一个运行 Ubuntu 20.04 的 DigitalOcean Droplet,然后按照我们的初始服务器设置指南进行操作。 步骤 1 — 在 Ubuntu 20.04 上安装 SQLite 要在 Ubuntu 上安装 SQLite ..