Category : 教程系列

介绍 该sudo命令提供了一种向普通用户授予管理员权限的机制——通常只对root用户可用。本指南将向您展示如何sudo在 CentOS 8 上创建具有访问权限的新用户,而无需修改您的服务器/etc/sudoers文件。 注意:如果您要sudo为现有 CentOS 用户进行配置,请跳至步骤 3。 第 1 步 – 登录您的服务器 以root用户身份通过 SSH 连接到您的服务器: ssh root@your_server_ip_address 使用您服务器的 IP 地址或主机名代替your_server_ip_address上述地址。 步骤 2 — 向系统添加新用户 使用以下adduser命令向您的系统添加新用户: adduser sammy 请务必替换sammy为您要创建的用户名。 使用passwd命令更新新用户的密码: passwd sammy 请记住替换sammy为您刚刚创建的用户。系统将提示您两次输入新密码: OutputChanging password for user sammy. New password: Retype new password: passwd: all authentication tokens updated successfully. 第 3 步 – 将用户添加到轮组 ..

Read more

介绍 MySQL 5.7.8 版引入了一种 JSON 数据类型,允许您访问 JSON 文档中的数据。 SQL 数据库在设计上趋于僵化。就其性质而言,结构化查询语言强制执行数据类型和大小限制。 相比之下,NoSQL 数据库鼓励设计的灵活性。在这些无模式数据库中,没有强加的结构限制,只有要保存的数据。 MySQL 中的 JSON 数据类型赋予您这两种系统的优势。它允许您构建数据库的某些部分,而让其他部分保持灵活。 本文的前半部分将设计一个带有 JSON 字段的数据库。它将逐步使用 MySQL 可用的内置函数来创建、读取、更新和删除行。 本文的后半部分将利用 Eloquent ORM 和 Laravel 与数据库进行通信。您将构建一个支持显示产品、添加新产品、修改现有产品和删除产品的管理面板。 先决条件 如果你想跟随这篇文章,你需要: MySQL 5.7.8 或更高版本和 PHP 7.3.24 或更高版本。您可以参考我们关于安装 Linux、Apache、MySQL 和 PHP 的教程 对SQL 查询有一定的了解。 对编写 PHP有一定的了解。 对Laravel有一定的了解。 本教程通过 Composer使用Laravel 安装。您可以参考我们关于安装 Composer 的教程。 注意: Laravel 现在提供了一个名为Sail的工具来与 Docker 一起使用,该工具将使用 MySQL、PHP ..

Read more

该系列的一部分: 如何使用 CSS 构建网站 本教程是使用 CSS创建和自定义此网站的系列的一部分,CSS 是一种用于控制网站呈现的样式表语言。您可以按照整个系列重新创建演示网站并熟悉 CSS 或将此处描述的方法用于其他 CSS 网站项目。 在继续之前,我们建议您了解一些 HTML 知识,HTML 是用于在 Web 浏览器中显示文档的标准标记语言。如果您不熟悉 HTML,可以在开始本系列之前先阅读我们如何使用 HTML 构建网站系列的前十个教程。 介绍 在本教程中,您将学习如何使用 CSS 设置图像样式以添加边框,以及更改图像的形状和大小。使用 CSS 来设置图像样式,您只需使用几个规则集就可以统一指定图像在网站上的显示方式。 先决条件 要遵循本教程,请确保您已按照本系列如何设置 CSS 和 HTML 练习项目中的上一个教程中的说明设置必要的文件和文件夹。 将图像添加到 index.html 首先,您需要将图像添加到images文件夹中。您可以从演示网站下载图像或使用任何 JPEG/JPG 或 PNG 格式的图像。如果您的图像尺寸在 150-200 像素 x 150-200 像素左右,这个练习也会更好。 注意:要下载 Sammy the Shark 的图像,请访问此链接和CTRL + Left Click(在 Mac 上)或Right Click(在 ..

Read more

作为Write for DOnations计划的一部分,作者选择了“编码女孩”来接受捐赠。 介绍 该Okteto CLI是一个开源项目,它提供了在运行的应用程序的本地开发经验Kubernetes。有了它,您可以在本地 IDE 上编写代码,一旦保存文件,更改就可以推送到您的 Kubernetes 集群,您的应用程序将立即更新。整个过程无需构建 Docker 镜像或应用 Kubernetes 清单,这可能需要相当长的时间。 在本教程中,您将在开发 Kubernetes 原生应用程序时使用 Okteto 来提高工作效率。首先,您将创建一个 Kubernetes 集群并使用它来运行标准的“Hello World”应用程序。然后,您将使用 Okteto 开发和自动更新您的应用程序,而无需在本地安装任何东西。 先决条件 在开始本教程之前,您需要具备以下条件: Kubernetes 1.12+ 集群。在本教程中,设置将使用具有三个节点的DigitalOcean Kubernetes集群,但您可以使用另一种方法自由创建集群。 kubectl并doctl 安装并配置为与您的集群通信。 一个Docker Hub 帐户 在本地机器上运行的Docker。 步骤 1 — 创建 Hello World 应用程序 “Hello World”程序是 Web 开发中的一项历史悠久的传统。在这种情况下,它是一个简单的 Web 服务,它对每个请求都响应“Hello World”。现在您已经创建了 Kubernetes 集群,让我们在 Golang 中创建一个“Hello World”应用程序以及您将用于在 ..

Read more

C 是一种命令式高级编程语言,以其模块化、静态类型、多种数据类型和运算符、递归和结构化任务方法而闻名。与许多其他早期编程语言不同,C 是独立于机器的且具有高度可移植性。由于这些原因,开发人员已经使用它来构建各种程序和系统,包括 Linux 内核。 有关 C 及其在 Linux 中使用的更多背景信息,请访问Linux 简史。 我们的开发相关教程、问题和其他教育资源的完整列表可以在我们的开发标签页�..

Read more

介绍 Node是一个运行时环境,可以编写服务器端JavaScript。自 2011 年发布以来,它已获得广泛采用。由于 JavaScript 语言的性质,随着代码库的增长,编写服务器端 JavaScript 可能具有挑战性;动态和弱类型。 从其他语言转向 JavaScript 的开发人员经常抱怨它缺乏强大的静态类型,但这正是 TypeScript 出现的地方,以弥补这一差距。 TypeScript是一个类型化(可选)的 JavaScript 超集,可以帮助构建和管理大型 JavaScript 项目。它可以被认为是具有强静态类型、编译和面向对象编程等附加功能的 JavaScript。 注意:从技术上讲,TypeScript 是 JavaScript 的超集,这意味着所有 JavaScript 代码都是有效的 TypeScript 代码。 以下是使用 TypeScript 的一些好处: 可选的静态类型。 类型推断。 使用接口的能力。 在本教程中,您将使用 TypeScript 设置一个 Node 项目。您将使用 TypeScript构建Express应用程序并将其转换为简洁可靠的 JavaScript 代码。 先决条件 在开始本指南之前,您需要在您的机器上安装 Node.js。您可以按照如何安装 Node.js 并为您的操作系统创建本地开发环境指南来完成此操作。 第 1 步 – 初始化 npm 项目 首先,创建一个名为的新文件夹node_project并移动到该目录中。 mkdir ..

Read more

作者选择Open Sourcing Mental Illness Ltd接受捐赠,作为Write for DOnations计划的一部分。 介绍 “你好,世界!” 程序是计算机编程中的经典和历史悠久的传统。作为初学者的完整第一个程序和测试系统和编程环境的好程序,“Hello,World!” 说明了编程语言的基本语法。 本教程将引导您编写“Hello, World!” PHP中的程序。您还将了解如何在代码中打开和关闭 PHP 代码块以及在代码中使用不同类型的注释。 先决条件 您将需要安装 PHP 并在您的计算机上设置本地编程环境。 要进行设置,请按照如何安装 PHP 7.4 并为您的操作系统设置本地开发环境进行操作。 写下“你好,世界!” 程序 写下“你好,世界!” 程序,首先打开命令行文本编辑器,例如nano,然后创建一个新文件: nano hello.php 在终端窗口中打开文本文件后,输入程序: 你好.php <?php echo “Hello, World!”; ?> 让我们分解代码的不同组件。 所有 PHP 代码都属于一个 PHP 代码块,<?php以?>. echo是一种语言结构。它的参数是echo关键字后面的表达式列表,以逗号分隔,不以括号分隔。echo告诉 PHP 显示或输出包含在echo和结束分号之间的任何内容;。 在echo和之间;是一个字符序列——Hello, World!用引号括起来。引号内的任何字符都称为字符串。 编写程序后,按住CTRL键,按X键退出nano。当提示保存文件时,按Y。 退出 nano 后,您将返回到 shell。 有了这个,你就写了“你好,世界!” 程序。 ..

Read more

作者选择/dev/color接受捐赠,作为Write for DOnations计划的一部分。 介绍 当用户编码和部署网站时,他们通常希望在线受众找到并阅读他们创建的网站。搜索引擎优化(SEO) 是使该在线受众可以发现网站的做法。优化搜索涉及对您的 Gatsby 应用程序进行更改,以便它显示在搜索引擎(如Google、Bing和DuckDuckGo)的结果中。这通常是通过微调最终出现在您网站的 HTML 中的元数据来完成的。 在本教程中,您将配置开箱即用的 SEO 工具随附的Gatsby SEO 组件。您将使用Gatsby React Helmet将元标记添加到您的网站。元标记很重要,因为它们为搜索引擎提供有关您网站的信息。通常,Google 对您的网站了解得越多,就越能准确地为您的网页编入索引。您还将为Twitter创建社交媒体卡片,并在Facebook 中创建Open Graph元标记。有超过 10 亿人使用某种形式的社交媒体,因此针对社交媒体进行优化是让您的网站呈现在众多互联网用户面前的有效方式。 先决条件 您的计算机上安装了Node.js版本 14.16.0。要在 macOS 或 Ubuntu 20.04 上安装它,请按照如何在 macOS 上安装 Node.js 和创建本地开发环境或如何在 Ubuntu 20.04 上安装 Node.js 的使用 PPA 安装部分中的步骤进行操作。 已安装Gatsby.js和 Gatsby CLI 工具。您可以在如何设置您的第一个 Gatsby 网站教程中找到如何安装它。 对 JavaScript 的理解会很有用。您可以在我们的如何在 JavaScript 中编码系列中了解有关 JavaScript 的更多信息。尽管 Gatsby ..

Read more

介绍 LEMP 软件堆栈是一组软件,可用于为用 PHP 编写的动态网页和 Web 应用程序提供服务。这是一个描述一个缩写大号inux下操作系统,与Nginx的(发音如“ é ngine-X”)的web服务器。后端数据被存储在中号ySQL数据库和动态处理是通过处理P HP。 本指南演示了如何在 Ubuntu 20.04 服务器上安装 LEMP 堆栈。Ubuntu 操作系统满足第一个要求。我们将描述如何启动和运行其余的组件。 先决条件 为了完成本教程,您需要以普通的非 rootsudo用户身份访问 Ubuntu 20.04 服务器,并在您的服务器上启用防火墙。要进行设置,您可以按照我们针对 Ubuntu 20.04 的初始服务器设置指南进行操作。 步骤 1 – 安装 Nginx Web 服务器 为了向我们的网站访问者显示网页,我们将使用 Nginx,一个高性能的网络服务器。我们将使用apt包管理器来获取此软件。 由于这是我们第一次使用apt此会话,首先更新服务器的包索引。之后,您可以使用apt install来安装 Nginx: sudo apt update sudo apt install nginx 出现提示时,输入Y以确认您要安装 Nginx。安装完成后,Nginx Web 服务器将处于活动状态并在您的 Ubuntu 20.04 服务器上运行。 如果您ufw按照我们的初始服务器设置指南中的建议启用了防火墙,您将需要允许连接到 Nginx。Nginx 在安装时会注册一些不同的 ..

Read more

作为Write for DOnations计划的一部分,作者选择了免费和开源基金来接受捐赠。 介绍 Discourse是一个开源的讨论平台。您可以将 Discourse 用作邮件列表、讨论论坛或长格式聊天室。在本教程中,您将使用Docker(一种容器化应用程序)在隔离环境中安装 Discourse 。 先决条件 在开始之前,您需要准备一些东西: 一台 Ubuntu 18.04 服务器,至少有 2GB 的 RAM、一个sudo非 root 用户和一个防火墙。作为指导,您可以参考我们的 Ubuntu 18.04 初始服务器设置教程。 Docker 安装在您的服务器上。为此,您可以按照我们的 Ubuntu 18.04 Docker 安装教程的第 1 步操作。 具有可用 A 记录的域(或子域)指向您服务器的 IP。如果您在 DigitalOcean 上管理您的 DNS,那么您可以按照本指南将您的 IP 与您的域相关联。本教程将使用discourse.your_domain. 一个 SMTP 邮件服务器。如果您不想运行自己的邮件服务器,则可以使用其他服务,例如Mailgun上的免费帐户。 步骤 1 — 下载 Discourse 在下载和安装 Discourse 之前,创建/var/discourse目录。这是所有与 Discourse 相关的文件所在的位置: sudo mkdir ..

Read more