Category : 教程系列

介绍 iptables 是一种防火墙,在大多数 Linux 系统的网络安全中起着至关重要的作用。虽然许多 iptables 教程将教您如何创建防火墙规则来保护您的服务器,但本教程将侧重于防火墙管理的不同方面:列出和删除规则。 在本教程中,我们将介绍如何执行以下 iptables 任务: 列出规则 清除数据包和字节计数器 删除规则 刷新链(删除链中的所有规则) 刷新所有链表,删除所有链,接受所有流量 注意:使用防火墙时,请注意不要通过阻止 SSH 流量(默认为端口 22)将自己锁定在自己的服务器之外。如果您由于防火墙设置而无法访问,您可能需要通过带外控制台连接到它来修复您的访问。 先决条件 本教程假设您使用iptables安装了命令的 Linux 服务器,并且您的用户具有sudo权限。 如果您需要有关此初始设置的帮助,请参阅我们的Ubuntu 20.04 初始服务器设置指南。它也可用于Debian和CentOS 我们先来看看如何列出规则。有两种不同的方式可以查看您的活动 iptables 规则:在表格中或作为规则规范列表。这两种方法以不同的格式提供大致相同的信息。 按规格上市规则 要按规范列出所有活动的 iptables 规则,请运行iptables带有以下-S选项的命令: sudo iptables -S Output-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N ICMP -N TCP -N UDP -A INPUT -m conntrack ..

Read more

介绍 React Native Elements是一个样式库,具有基于React Native 组件构建的预构建组件。React Native Elements 中的每个组件都使用 React Native<View />组件包装,其样式基于您指定的道具。 React Native Elements 的主要目的是构建在基本的 React Native 组件之上,为您提供更大的灵活性和更轻松的主题化整个应用程序。如果您曾经为整个应用程序编写过 CSS,那么您可能已经找到了一些方法来节省自己的时间并编写一次而不是一遍又一遍。使用 React Native Elements 允许您使用预先构建的组件并自定义或扩展它们以重用相同的 props。 注意:在整篇文章中,我们将 React Native Elements 缩写为RNE。 在本文中,您将探索 React Native Elements 提供的一些组件。您将能够将在这里学到的知识应用到其他组件中。 先决条件 如果你想跟随这篇文章,你需要: Node.js 的本地开发环境。遵循如何安装 Node.js 并创建本地开发环境。 熟悉设置环境以创建新的 React Native 项目并使用 iOS 或 Android 模拟器可能会有所帮助。 熟悉在 React Native 中使用 JSX 语法。 ..

Read more

作者选择Internet Archive接收捐赠,作为Write for DOnations计划的一部分。 介绍 GoAccess是一种实时监控 Web 服务器日志的工具。它是用 C 语言编写的,它的仪表板界面使用流行的ncurses库,可以直接从命令行访问。 这很棒,因为您可以通过 SSH 连接到您控制的任何 Web 服务器,并快速安全地查看或分析相关统计数据。除了命令行仪表板界面,它还能够以其他格式(例如 HTML、JSON 和 CSV)显示统计信息,您可以在其他上下文中使用这些数据或与他人共享。 根据您的需要,GoAccess 也可以成为客户端分析工具的绝佳替代品。它直接分析您的服务器日志,因此您无需加载任何额外的脚本,您的数据完全在您的控制之下。 在本教程中,您将在 Ubuntu 20.04 Web 服务器上安装和配置 GoAccess for Apache。在查看命令行界面上的可用模块和导航快捷方式之前,您将使用 GoAccess 访问 Apache 日志文件。 先决条件 对于本教程,您将需要以下内容: 一台 Ubuntu 20.04 服务器。您可以按照Ubuntu 20.04 教程的初始服务器设置进行设置,包括具有 sudo 权限的非 root 用户和防火墙。 按照如何在 Ubuntu 20.04 上安装 Apache 安装 Apache。 第 1 步 – ..

Read more

Visual Studio Code 最令人印象深刻的部分之一是可定制性,尤其是通过扩展。随着大量开发人员创建扩展,功能几乎是无穷无尽的!以下是 VS Code 中用于编写 CSS 的一些最佳扩展。 查看学习 Visual Studio Code,了解您需要了解的有关 Web 开发中最热门的编辑器的所有信息! HTML CSS 支持 HTML CSS 支持(以及列出的下一个扩展)基于项目中包含或远程引用的 CSS在您的 HTML 文件中提供智能感知。这是功能的完整列表。 类属性补全 id 属性补全 支持 class 和 id 属性的 Zen Coding 完成 扫描工作区文件夹中的 css 和 scss 文件 支持远程css文件 关于这一点,真正突出的一件事是您也可以指定要缓存的远程 CSS 文件。您可以通过添加以下设置来做到这一点。此示例引用 Bootstrap 4 CSS 文件。 “css.remoteStyleSheets”: [ “https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css” ] CSS 类名称的智能感知 CSS ..

Read more

介绍 Mongoose是用于为 Node.js 和 MongoDB 后端操作数据的基本工具之一。 在本文中,您将研究将 Mongoose 与MongoDB Atlas远程数据库结合使用。本教程中的示例将由食物列表及其热量值组成。用户将能够创建新项目、阅读项目、更新项目和删除项目。 先决条件 熟悉使用 Express 作为服务器。您可以咨询这篇文章的快递和官方Express文档。 熟悉在没有任何身份验证的情况下设置 REST API。您可以咨询与快速路由这篇文章和这篇文章async和await。 建议下载并安装Postman 之类的工具来测试 API 端点。 本教程已通过 Node v15.3.0、npmv7.4.0、expressv4.17.1、mongoosev5.11.12 和 MongoDB v4.2 验证。 MongoDB Atlas 设置 该项目还需要一个MongoDB Atlas帐户。 创建帐户并登录后,请按照以下步骤部署免费层集群。 一旦您设置了集群、数据库用户和 IP 地址,您就可以为以后在设置项目的其余部分时获取连接字符串做好准备。 步骤 1 — 设置项目 在本节中,您将为您的项目创建一个目录并安装依赖项。 为您的项目创建一个新目录: mkdir mongoose-mongodb-atlas-example 导航到新创建的目录: cd mongoose-mongodb-atlas-example 此时,您可以初始化一个新的 npm 项目: npm init -y 接下来,安装express和mongoose: ..

Read more

注意:本教程使用不推荐使用的 Ubuntu 版本。单击此处阅读为 Ubuntu 20.04 编写的更新版本。 Sqlite 是一个非常简单和快速的开源 SQL 引擎。本教程将解释什么时候最好使用 Sqlite,而不是像 Mysql 或 Postgres 这样的成熟的 RDBMS,以及如何安装它以及涵盖 CRUD – 创建、读取、更新和删除的基本使用示例。 误解 不要误以为Sqlite 仅用于测试和开发。例如,它适用于每天最多接收 100,000 次点击的网站——这是一个保守的限制。Sqlite 数据库的最大大小为 140 TB(这应该足够了,对吧?),它比成熟的 RDBMS 快得多。完整的数据库和所有其他必要的数据都存储在主机文件系统中的一个普通文件中,因此不需要单独的服务器进程(消除对缓慢的进程间通信的所有需求)。 在您的 VPS 上优化使用 Sqlite 专注于简单性。因为它完全是内部的,所以它通常比替代方案快得多。如果您正在寻找可移植性(关于语言和平台)、简单性、速度和小的内存占用,Sqlite 是理想的选择。它的缺点只有在需要高读写并发的情况下才会明显:Sqlite 一次只能支持一个 writer,如果需要多个客户端同时访问一个 Sqlite 数据库,通常较高的文件系统延迟可能会带来不便。最后一个可能的缺点是它的语法虽然与其他 SQL 系统相似,但却是独一无二的。虽然迁移到另一个系统相当简单,但如果您“超出”Sqlite,则转换过程中会涉及一些开销。 有关更多信息,官方文档中对 Sqlite 的优缺点有一些非常好的概述。 在您的 VPS 上安装 Sqlite sqlite3 模块是标准 Python 库的一部分,因此在标准 Ubuntu 安装或任何安装了 Python ..

Read more

作者选择了技术多样性基金来接受捐赠,作为Write for DOnations计划的一部分。 介绍 该盒模型是规则集浏览器的用途来确定元素的大小,以及它如何与其他元素交互。HTML 元素的内容以及一些 CSS 属性都有助于浏览器用于将 HTML 和 CSS 代码转换为最终呈现的网页的计算。了解盒子模型的工作原理以及如何有效地操作它可能是对齐良好的设计与具有不需要的水平滚动和内容之间的额外空间的网页之间的区别。了解盒模型的工作原理将帮助您更有效地编写 CSS 并找到解决浏览器中呈现问题的方法。 注意:大多数 HTML 元素属于两类 box 之一,即inline或block。一个<span>元素是一个通用的内联元素,因为它与文本内容内嵌停留。的<div>元件,是一种通用的块状元件。本教程将重点介绍盒模型如何影响块元素,因为它是盒模型规则集的最广泛用途。 请注意,对display属性的更改可能会导致框模型以本教程目标之外的方式运行的方式发生更改,尤其是在使用表格、Flexbox 和 CSS 网格时。 在本教程中,您将使用margin,padding,border,width,和height属性,这是主要的属性框模型的用途。您还将使用这些box-sizing属性来了解如何更改盒模型。最后,您将使用浏览器的开发工具来检查盒模型。 先决条件 保存在本地计算机上的 HTML 文件index.html,您可以从文本编辑器和所选的 Web 浏览器访问该文件。要开始使用,请查看我们的如何设置 HTML 项目教程,并按照如何使用和理解 HTML 元素获取有关如何在浏览器中查看 HTML 的说明。如果您不熟悉 HTML,请尝试使用 HTML系列构建网站的方法。 熟悉浏览器的开发工具。本教程将使用Firefox 开发人员工具。如果您使用的是 Google Chrome,这篇 SparkBox 文章是对其开发工具的有用介绍。 设置 HTML 和开发者工具 在本节中,您将设置 HTML 库以在整个教程中使用。您还将访问浏览器的开发人员工具并开始使用它们来帮助识别构成盒模型的属性。 首先,index.html在文本编辑器中打开并将以下 HTML 添加到文件中: 索引.html <!doctype ..

Read more

介绍 Particles.js是一个允许您创建粒子效果的库。这些是绘制在画布上的形状和对象,具有观察物理和交互性的一些行为的能力。这对于创建引人注目的背景非常有用,而无需插图或摄影。 注意:原始 repo 的开发似乎已经停止。最近创建了一个名为tsParticles的分支。本教程的内容已更新以使用此新分支。 在本教程中,您将简要介绍该库的一些功能以及加载和修改示例配置。 先决条件 要完成本教程,您需要: 现代网络浏览器。 熟悉 JSON 可能有助于理解配置文件。请参阅 JSON 简介。 步骤 1 — 设置项目 出于教程目的,本示例将重点介绍本地index.html文件和tsParticles内容交付网络 (CDN) 托管的库副本。 在您的终端窗口中,创建一个新的项目目录: mkdir tsparticles-example 然后,导航到新的项目目录: cd tsparticles-example 接下来,创建一个index.html文件: 索引.html <!DOCTYPE html> <html lang=”en”> <head> <meta charset=”UTF-8″ /> <meta name=”viewport” content=”width=device-width, initial-scale=1.0″ /> <meta http-equiv=”X-UA-Compatible” content=”ie=edge” /> <title>tsParticles</title> <style> * { box-sizing: border-box; } html, body ..

Read more

本教程的早期版本由Justin Ellingwood编写。 介绍 在存储任何关键数据时,单点故障是非常危险的。虽然许多数据库和其他软件允许您在单个应用程序的上下文中分散数据,但其他系统可以在文件系统级别上运行,以确保数据在写入磁盘时被复制到另一个位置。 GlusterFS是一个网络附加存储文件系统,允许您将多台机器的存储资源池化。反过来,这使您可以将分布在多台计算机中的多个存储设备视为一个功能更强大的单元。GlusterFS 还让您可以自由地创建不同类型的存储配置,其中许多在功能上类似于RAID级别。例如,您可以跨集群中的不同节点对数据进行条带化,或者您可以实施冗余以提高数据可用性。 目标 在本指南中,您将创建一个冗余集群存储阵列,也称为分布式文件系统,或者 GlusterFS 文档中提到的可信存储池。这将提供类似于网络上的镜像 RAID 配置的功能:每个独立服务器将包含自己的数据副本,允许您的应用程序访问任一副本,从而帮助分配读取负载。 这个冗余的 GlusterFS 集群将由两台 Ubuntu 20.04 服务器组成。这将类似于具有镜像 RAID的NAS服务器。然后,您将从配置为 GlusterFS 客户端的第三个 Ubuntu 20.04 服务器访问集群。 关于安全运行 GlusterFS 的注意事项 当您将数据添加到 GlusterFS 卷时,该数据会同步到托管该卷的存储池中的每台机器。默认情况下,节点之间的通信未加密,这意味着存在被恶意行为者拦截的风险。 因此,如果您打算在生产中使用 GlusterFS,建议您在隔离网络上运行它。例如,您可以将其设置为在虚拟私有云(VPC) 中运行或在每个节点之间运行 VPN。 如果您计划在 DigitalOcean 上部署 GlusterFS,您可以通过将您的服务器基础设施添加到 DigitalOcean 虚拟私有云来在隔离网络中进行设置。有关如何设置的详细信息,请参阅我们的VPC 产品文档。 先决条件 要学习本教程,您需要三台运行 Ubuntu 20.04 的服务器。每个服务器都应该有一个具有管理权限的非 root 用户,以及一个配置有 UFW 的防火墙。要进行设置,请按照我们针对 Ubuntu 20.04 的初始服务器设置指南进行操作。 注意:如目标部分所述,本教程将引导您配置两台 Ubuntu ..

Read more

介绍 Vertical-align定义表格单元格内容或内联元素相对于内联流的其余部分的垂直对齐方式。 vertical-align 可以采用%或长度值,也可以采用以下 8 个关键字之一: baseline: 默认。元素的基线与父元素的基线对齐。 bottom:元素的底部与行的完整底部对齐。 middle: 元素的中间对齐到父元素 x 高度的一半。x-height 是没有字符上升部或下降部的文本的高度。 sub: 元素的基线与父元素的下标基线对齐。 super: 元素的基线与父元素的上标基线对齐。 text-bottom: 元素底部与文本底部对齐。 text-top: 元素的顶部与文本的顶部对齐。 top: 元素的顶部与行的顶部对齐。 如果提供了长度值,则元素将在父元素基线上方的指定长度处对齐。 如果提供了%值,则元素将在父项基线上方指定的 % 处对齐,其中 % 是对行高的引用。 这是使用垂直对齐的示例: .avatar { vertical-align: middle; } 例子 很难将垂直对齐的不同关键字值的效果可视化,因此这里是使用不同值放置的内联贝壳表情符号 (🐚) 的示例: 垂直对齐:基线 萨米卖贝壳 🐚 在海边。 垂直对齐:底部 萨米卖贝壳 🐚 在海边。 垂直对齐:中间 萨米卖贝壳 🐚 在海边。 垂直对齐:子 萨米卖贝壳 🐚 ..

Read more