2024年8月26日

如何安装和配置 Monit

关于 Monit Monit 是一款非常有用的程序,它可以自动监控和管理服务器程序,以确保它们不仅始终保持在线,而且文件大小、校验和或权限始终正确。此外,monit 还附带一个基本的 Web 界面,可以通过该界面设置所有进程。本教程将介绍最基本的设置和配置。 安装 Monit Monit 最容易通过 apt-get 安装: sudo apt-get install monit 一旦 monit 下载完毕,您就可以将程序和进程添加到配置文件中: sudo nano /etc/monit/monitrc Monit 可以通过命令启动,然后保持在后台运行 monit 输入内容 monit status显示 monit 的详细信息: The Monit daemon 5.3.2 uptime: 1h 25m System 'myhost.mydomain.tld' status Running mon…
2024年8月26日

深入了解 Capistrano 的配置 #2

到目前为止,应用程序部署的基础结构已经创建。现在我们将进入实际的部署过程。首先,我们将更改一些设置,然后部署我们的应用程序。 部署.rb 在此阶段,我们的 deploy.rb 文件应该如下所示 set :application, "domain.com" set :user, "username" set :repository, "svn+MyTestProject1ssh://12.34.56.789/home/username/repository/MyTestProject1" # If you aren't deploying to /u/apps/#{application} on the target # servers (which is the default), you can specify the actual location # via the :deploy…
2024年8月26日

如何查找并克服 Shell 命令行长度限制

使用 mv 或 rm 命令时,我收到命令行长度错误(参数列表太长错误)。如何找出当前运行的 shell 命令行长度限制?编写 UNIX / BSD / Linux shell 实用程序时如何克服这些限制? 所有 shell 都对命令行长度有限制。UNIX / Linux / BSD 系统对命令行参数和环境变量可使用的字节数有限制。当您启动新进程或键入命令时,这些限制将适用,您将在屏幕上看到以下错误消息: 参数列表太长 如何找出当前命令行的长度限制? 输入以下命令(在 Linux / UNIX / BSD 操作系统下有效): $ getconf ARG_MAX 示例输出: 262144 BSD 操作系统还支持以下命令: $ sysctl kern.argmax 示例输出: kern.argmax=262144 为了准确了解限制,请输入以下命令(感谢Jeff): $ echo $(( $(getconf AR…
2024年8月26日

Fetch API 入门

Fetch 是一种较新的、基于承诺的 API,它允许我们执行 Ajax 请求,而无需处理与XMLHttpRequest相关的所有麻烦。正如您将在本文中看到的,Fetch 非常易于使用和操作,并且大大简化了从 API 获取资源的过程。此外,它现在已在所有现代浏览器中得到支持,因此使用 Fetch 真的是一件轻而易举的事。 获取请求 让我们演示一个简单的 GET 请求,得到我们自己从JSONPlaceholder API中获取了一些虚拟数据: fetch('https://jsonplaceholder.typicode.com/users') .then(res => res.json()) .then(res => res.map(user => user.username)) .then(userNames => console.log…
2024年8月26日

使用地理位置 API

Geolocation API 是一个非常简单的 API,可用于获取设备当前的位置坐标。它只有两种方法:获取当前位置和观察位置返回的数据非常简单,但与地图 API 结合时,可以创建复杂的位置感知 Web 应用程序。 设置 在执行任何操作之前,您需要检查该 API 是否在用户的浏览器中可用: if (navigator.geolocation) { // ????️ yep, we can proceed! } else { // no can do } 请注意,您的网站或应用必须通过https提供服务,API 才能正常工作。对于本地开发,您需要运行本地服务器,而不是直接打开 html 文件。如果您的计算机上有npm 5.2或更高版本,则可以使用npx快速运行 http 服务器: $ npx http-server 获取当前位置 使用获取当前位置方法获取用户的坐标一次。第一个且唯一必需的参数…
2024年8月26日

Linux“Touch”命令的 8 个实例

在Linux 中,每个文件都与时间戳相关联,每个文件都存储上次访问时间、上次修改时间和上次更改时间的信息。因此,每当我们创建新文件、访问或修改现有文件时,该文件的时间戳都会自动更新。 Linux Touch 命令示例 在本文中,我们将介绍一些 Linux touch 命令的实用示例。touch命令是Unix/Linux操作系统的标准程序,用于创建、更改和修改文件的时间戳。 在开始触摸命令示例之前,请先查看以下选项。 触摸命令选项 -a,仅更改访问时间 -c,如果文件不存在,则不创建它 -d,更新访问和修改时间 -m,仅更改修改时间 -r,使用文件的访问和修改时间 -t,使用指定的时间创建文件 1. 如何创建一个空文件 以下touch命令创建一个名为sheena 的空(零字节)新文件。 # touch sheena 2. 如何创建多个文件 通过使用touch命令,…
2024年8月26日

Linux rmdir 初学者命令示例

作为 Linux 用户,我们经常与文件和目录交互。用户执行的一项常见操作是从文件系统中删除目录。但是,我们在删除目录时必须格外小心。因为粗心执行的删除操作可能会导致数据丢失。 在这篇适合初学者的文章中,我们将学习 rmdir 命令。我们还将讨论一些可以在日常中使用的实际示例。 rmdir命令的语法与其他 Linux 命令类似。从高层次上讲,它分为两部分 -选项和参数: $ rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ... 这里,方括号([])表示可选参数,而尖括号(<>)表示强制参数。 Linux 中 rmdir 命令的基本用法 顾名思义,rmdir命令用于删除目录。但需要注意的是,它只能删除空目录。在本节中,我们将了解rmdir命令的基本用法。 在 Linux 中删除空目录…
2024年8月26日

如何设置 Mod_Rewrite

关于 Mod_Rewrite 回想一下你上次访问某个购物网站,寻找需要购买的某件特定商品时的情形。当你最终到达该页面时,URL 很可能如下所示: gizmo.com/latest_and_greatest/specific_gadgets/exactly_what_youre_looking_for 这并不是因为该网站花时间设置了您购买所需的每个目录,而是因为一个名为 Mod_Rewrite 的便捷模块。Mod_Rewrite 允许您根据需要创建自定义和简化的 URL。实际上,实际 URL 可能看起来更接近于此: http://www.gizmo.com/gp/itemB004RYVI0Q/ref=as_li_ss_tl? 本教程将介绍如何激活 Mod_Rewrite、创建和使用所需的 .htaccess 页面以及如何设置 URL 重写。 内容 如何…
2024年8月26日

如何设置 Mod_Rewrite(第 2 页)

接第 1 页 重写条件 上一页的三个示例展示了如何重写 URL 以使网站更易于访问和记忆。 重写规则还可以有条件,以确保重写仅在特定情况下发生。 示例 1:如何防止热链接 热链接是将一个服务器上的图像或对象用于另一个服务器的过程。此操作会耗尽受害者服务器的带宽,并使对象的创建者无法再吸引其他访问者访问其网站。 您可以通过将网站上某个对象的所有链接重定向到其他不太令人愉快的图像,或完全禁止该操作来防止热链接。 RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$ [NC] RewriteRule .*\.(gif|jpeg|png)$ http://www.example.com/unplea…
2024年8月26日

深入了解 Capistrano 的配置 #1

在开始本文之前,您应该已经使用 Capistrano 配置了 Ruby on Rails 的大部分内容。此时,我们需要检查 Capistrano 的配置文件并添加所需的内容。 快速详细信息 在本文中,我们将解释每个配置设置是什么以及它们的作用。虽然文章很长,但每个步骤都解释得非常详细,以便您可以成功完成所有配置。 部署.rb 首先,我们将转到位于本地工作站上的 Ruby on Rails 应用程序文件夹。 cd ~/dev/MyTestProject1 打开 deploy.rb 文件 nano config/deploy.rb 该文件看起来应该像这样: set :application, "set your application name here" set :repository, "set your repository location here" # If you aren't dep…