欢迎客人!

• 开始前请阅读社区规则确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

• 文件链接损坏请在文件下方留言,我们将会及时更新来自备份服务器的新链接。如有其它问题请 提交工单 和我们联系!

• 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!

• 提示:如果您的账户超过180天处于非活动状态,系统将自动删除您的账户!

• 我们尊重我们的用户,也希望您能进行愉快的交谈.

VBulletin 6.0.7 变更和更新

前端变化​

网站构建器快速设置​

站点构建器的快速安装工具中添加了几个新选项。此工具可帮助在安装后加入新的 vBulletin 站点。

  1. 站点所有者可以在快速设置中编辑站点名称。
  2. 顶级论坛频道可以在快速设置中标记为私人或公共。
  3. 添加了关闭论坛、文章、博客和群组部分的功能。停用这些部分中的任何一个都将从页面标题中删除它们的选项卡。当再次启用某个部分时,vBulletin 将重新添加该选项卡。但是,管理员需要手动调整导航栏工具中选项卡的位置。

事件导出​

用户可以将事件主题导出为 ICS 文件,并将其导入日历应用。导入过程因日历应用和操作系统而异。在大多数情况下,用户需要加载生成的 .ics 文件,日历应用会提示他们导入该文件。

其他问题​

  • 更新 Vimeo 缩略图检索和显示
  • 由于模板解析的更新,主页 URL 选项无法在面包屑中正确呈现。
  • 修复了如果 vBulletin 需要管理员登录,则在 AdminCP 中查看用户的链接可能会失败的问题。

后端/AdminCP 变更​

频道订阅​

管理员可以自动为用户和用户组订阅 AdminCP 中的频道。此功能非常有用的一个例子是,您可以自动为新用户订阅有关您的社区及其运作方式的论坛。用户组和用户名也可以追溯添加订阅。频道管理下添加了自动频道订阅管理器来管理此类订阅。

用户仍然可以通过点击频道中的“已订阅”按钮或从用户个人资料访问订阅页面来取消订阅。

全文搜索​

随着 MySQL INNODB 表管理的进步,我们可以在 vBulletin 中重新引入全文搜索选项。自托管客户可以在设置 -> 搜索类型下选择此选项。更改搜索索引类型后,您需要在维护 -> 常规更新工具下或通过命令行中的 searchindex.php 文件重建索引。全文搜索符合管理员在设置 -> 选项 -> 消息搜索和索引选项下设置的选项。

付费订阅提醒​

付费订阅提醒选项位于“设置”->“选项”->“付费订阅”下。此选项采用逗号分隔的列表,并在订阅到期前按照列出的时间间隔向最终用户发送电子邮件提醒。以前,提醒电子邮件分别在到期前 3 天和 2 天发送。

签名图片导入​

sigpic.php 允许从 vBulletin 3 和 4 导入签名图片。此脚本将允许自托管客户从其旧安装中导入这些图片。此脚本适用于在 vBulletin 6.0.6 之前升级的客户。

要使用导入功能,请上传do_not_upload/sigpic.php到服务器/core/admincp目录。在浏览器中加载此页面并按照屏幕上的说明进行操作。脚本会将图像信息从旧版 sigpic 表移至附件表,以便将来进行正确处理。

注意:升级脚本将来会删除旧的 sigpic 表。

附加信息​

安装 / 升级​

文件清理​

升级 vBulletin 系统后,您应该删除所有可能过时的文件。您可以在 vBulletin 6 安装和升级论坛中的此主题中获得有关为什么需要这样做的更多信息以及如何执行此操作的说明。

系统要求​

最低系统要求
  • PHP 版本:8.1.0
  • MySQL 版本:5.7.10
  • MariaDB 版本:10.4.0
推荐的系统要求
  • PHP 版本:8.2 或更高版本
  • MySQL 版本:8.0 或更高版本
  • MariaDB 版本:10.6+
欲了解更多信息,请参阅vBulletin Connect 系统要求

当前版本支持计划​

  • 活动版本 - 6.0.7
  • 安全补丁 - 6.0.6
  • 安全补丁 - 6.0.5

讨论​

如果您对这些变化有任何疑问,可以在这里讨论: https: //forum.vbulletin.com/node/4495166

如果您遇到软件问题或希望提交功能请求,请访问我们的跟踪器

要获得 vBulletin 产品的支持,请访问我们的社区论坛

Tutorial/教程 在 Debian 10/11 上安装 PHP 8.1

PHP 8.1 是 PHP 语言的重大更新。它包含许多新功能,许多高级框架需要服务器上有 PHP 8.1 才能运行所有功能。在开始安装之前首先要注意的是,Debian 9上的 PHP 8.1在下面的存储库中不再可用

如果您需要 8+ 版本,最好将发行版更新到Debian 11 (bullseye) 或至少Debian 10 (buster),否则在Debian 9 上您将不得不满足于 PHP 5.6,最高 PHP 7.4。

第 1 步:更新您的Debian​

我建议在更新的Debian系统上执行任何安装。运行提供的命令来更新Debian系统的所有软件包和次要版本。

代码:
sudo apt update<br>sudo apt -y upgrade
检查操作系统版本:

代码:
cat /etc/os-release
在 Debian 1011 上安装 PHP 81-1.webp




如果您的内核已更新,最好重新启动系统以使更新生效。

须藤重新启动

步骤 2:将 Surý APT 存储库添加到Debian​

DEB.SURY.ORG 存储库存储了基于Debian和Ubuntu 的Linux发行版的各种软件。它包含基于Debian 的最新 PHP 8.1 二进制版本。该存储库不包含在标准存储库列表中;必须手动将其添加到系统中。 安装必要的临时包



代码:
sudo apt update
代码:
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
将 Surý Debian PPA 存储库添加到您的系统

代码:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
导入 GPG 密钥

代码:
curl -fsSL https://packages.sury.org/php/apt.gpg| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg
通过从所有配置的源下载软件包信息来确保存储库正常工作

sudo apt update
如果没有发现与 Surý 相关的错误或冲突,您可以继续

步骤 3:在Debian上安装 PHP 8.1​

添加存储库并确认其功能后,您可以开始安装 PHP 8.1 或Debian 11 或 10 系统。

代码:
sudo apt update
代码:
sudo apt install php8.1
所有依赖包都会自动安装。只需按键盘上的 Y 或 D 即可继续:

在 Debian 1011 上安装 PHP 81-2.webp



安装成功后,可以查看PHP版本:

代码:
php -v
在 Debian 1011 上安装 PHP 81-3.webp




步骤 4,可选:安装 PHP 8.1 扩展​

PHP 8.1 模块可以使用以下命令语法作为包安装:

代码:
sudo apt install php8.1-&lt;extension&gt;
例如,代替 <extension>,替换您要安装的模块的名称

代码:
sudo apt install php8.1-mysql
要安装所有常用的 PHP 扩展,请运行以下命令:

代码:
sudo apt install php8.1-{bcmath,fpm,xml,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi}
安装中途,按 Y 或 D 表示同意:

在 Debian 1011 上安装 PHP 81-4.webp




您可以使用以下命令检查加载的 PHP 模块:

代码:
php --modules
在 Debian 1011 上安装 PHP 81-5.webp

Tutorial/教程 在 Debian 11/10 上的 Apache2 中的多个 PHP 版本之间切换

在您的系统上,如果您安装了多个版本的 PHP(例如 PHP 8.1、8.0、7.4、7.3、7.2、7.1 和 5.6),则默认情况下只有一个版本作为 Apache2 中的 PHP 版本。但是,如果您需要使用特定版本的 PHP 来执行当前任务,则无需删除所有其他版本。您只需将 PHP 版本切换为 Apache 中的默认版本即可。

假设您在我们的Debian系统上安装了 PHP 8.1、PHP 7.4 和 PHP 5.6 。您可以对其他版本的 PHP 使用相同的说明,并相应地更改命令。

启用 PHP 8.1 作为默认版本​

运行以下命令禁用其他版本 PHP 的 Apache 模块。

代码:
sudo a2dismod php7.4 php5.6
现在启用 PHP 8.1 模块并重新启动 Apache2。

代码:
sudo a2enmod php8.1
代码:
sudo service apache2 restart

启用 PHP 7.4 作为默认版本​

要使 PHP 7.4 模块作为 Apache2 中的活动 PHP 版本工作,您可以通过禁用所有其他已安装 PHP 版本的模块来实现此目的。

运行以下命令为 Apache 禁用其他版本的 PHP。

代码:
sudo a2dismod php8.1 php5.6
现在启用 PHP 7.4 模块并重新启动 Apache2。

代码:
sudo a2enmod php7.4<br>sudo service apache2 restart

PHP 5.6 作为 Apache2 中的默认 PHP 版本​

PHP 开发人员不再支持 PHP 5.6,强烈建议升级到更高版本的 PHP,例如 7.4 或 8.1。但如果您的应用程序需要这样的旧版本,您仍然可以在Debian系统上安装和使用 PHP 5.6 。

运行以下命令禁用其他 PHP 版本,例如 php 8.1、php7.4 等。

代码:
sudo a2dismod php7.4 php8.1 php8.0
现在启用 PHP 5.6 模块。

代码:
sudo a2enmod php5.6<br>sudo service apache2 restart
根据说明,您可以更改默认的PHP版本,而无需删除其他版本。

Tutorial/教程 20 个监控 Linux 性能的命令行工具

1. 顶部 – Linux​

顶部是底部。许多系统管理员经常使用 top 命令来监控Linux性能,并且在许多Linux /类 Unix 操作系统下都可用。

top命令用于以有序列表实时显示所有正在运行和活动的进程。它显示 CPU 使用情况、内存使用情况、交换内存使用情况、缓存大小、缓冲区大小、进程 PID、用户等。

top 命令对于系统管理员进行监控并在必要时采取适当的操作非常有用。让我们看看 top 命令的实际作用。

代码:
top

20 个监控 Linux 性能的命令行工具-1.webp

检查正在运行的Linux进程

2.VmStat——虚拟内存统计​

Linux VmStat命令用于显示有关虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动等的统计信息。

在Linux上安装 VmStat​

默认情况下,vmstat命令在Linux系统上不可用,因此您需要安装包含vmstat程序的sysstat包(一个强大的监控工具) 。 $ sudo yum install sysstat [在旧版CentOS / RHEL和 Fedora 上] $ sudo dnf install sysstat [在CentOS / RHEL /Fedora/Rocky Linux和 AlmaLinux 上] $ sudo apt-get install sysstat [在Debian / Ubuntu和 Mint 上] $ sudo pacman -S sysstat [在 Arch Linux上] 通常使用的命令格式是 vmstat







代码:
# vmstat

procs --------------内存---------- ---交换-- -----io---- -系统-- ------cpu -----
rb swpd 空闲 buff 缓存 si so bi bo 在 cs us sy id wa st
1 0 43008 275212 1152 561208 4 16 100 105 65 113 0 1 96 3 0
20 个监控 Linux 性能的命令行工具-2.webp

Vmstat系统监控工具

3. Lsof – 打开文件列表​

lsof命令在许多Linux /类 Unix 系统上使用,用于显示所有打开的文件和进程的列表。打开的文件包括磁盘文件、套接字、管道、设备和进程。

一个常见的错误是磁盘无法卸载并给出文件正在使用或打开的错误。使用lsof您可以轻松确定哪些文件正在使用。

最常见的 lsof 命令格式是:

代码:
# lsof

命令 PID TID TASKCMD 用户 FD 类型 设备大小/关闭 节点名称
systemd 1 root cwd DIR 8.2 224 128 /
systemd 1 root rtd DIR 8.2 224 128 /
systemd 1 root txt REG 8.2 1567768 134930842 /usr/lib/ systemd/systemd
systemd 1 root内存 REG 8.2 2714928 134261052 /usr/lib64/libm-2.28.so
systemd 1 根内存 REG 8.2 628592 134910905 /usr/lib64/libudev.so.1.6.11
systemd 1 根内存 REG 8.2 969832 134261204 /usr /lib64/libsepol。 so.1
systemd 1 根内存 REG 8.2 1805368 134275205 /usr/lib64/libunistring.so.2.1.0
systemd 1 根内存 REG 8.2 355456 134275293 r/ lib64/libpcap.so.1.9.0
systemd 1 根内存 REG 8.2 145984 134 261219 /usr/lib64/libgpg-error.so.0.24.2
systemd 1 根内存 REG 8.2 71528 134270542 /usr/lib64/libjson- c.so.4.0.0
systemd 1 根内存 REG 8.2 371736 134910992 /usr/lib64/libdevmapper .so.1.02
systemd 1 根内存 REG 8.2 26704 134275177 /usr/lib64/libattr.so.1.1.2448
systemd 1 根内存 REG 8.2 3058736 134919279 /usr/lib64/libcrypto.so.1.1.1c
...
20 个监控 Linux 性能的命令行工具-3.webp

Linux 中打开的文件列表

4. Tcpdump——网络数据包分析器​

tcpdump 命令是最常见的网络数据包分析器或数据包嗅探器程序之一,用于捕获或过滤网络上特定接口上接收或传输的 TCP/IP 数据包。

它还提供将捕获的数据包保存到文件以供以后分析的功能。 tcpdump 在几乎所有主要的Linux发行版上都可用。

代码:
# tcpdump -i enp0s3


tcpdump:抑制详细输出,使用 -v 或 -vv
在 enp0s3 上进行完整协议解码侦听,链接类型 EN10MB(以太网),捕获大小 262144 字节
10:19:34.635893 IP howtoing.ssh > 192.168.0.124.45611:标志 [ P.],seq 2840044824:2840045032,ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611>howtoing.ssh:标志[.],ack 208,win 11768,选项
10:19:34.87 306 0 IP _gateway.57682> howtoing .netbios-ns:NBT UDP数据包(137):查询;要求; UNICAST
10:19:34.873104 IP howtoing > _gateway: ICMP howtoing udp 端口 netbios-ns 无法访问,长度 86
10:19:34.895453 IP _gateway.48953 > howtoing.netbios-ns: NBT UDP 数据包(137): 查询;要求; UNICAST
10:19:34.895501 IP howtoing > _gateway: ICMP howtoing udp 端口 netbios-ns 无法访问,长度 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP,长度 45
10:19 : 35.010127IP 192.168.0.124.38874 > 142.250.4.189.https:UDP,长度 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns:NBT UDP 数据包(137):查询;要求; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp 端口 netbios-ns 无法访问,长度 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: N BT UDP 数据包(137) :询问;要求; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp 端口 netbios-ns 无法访问,长度 86
...
20 个监控 Linux 性能的命令行工具-4.webp

Tcpdump – 网络数据包分析器

5.Netstat——网络统计​

netstat是一个命令行工具,用于监视传入和传出网络数据包统计信息和接口统计信息。对于每个系统管理员来说,它是一个非常有用的工具,可以监控网络性能并解决网络相关问题。

# netstat -a |更多
活动 Internet 连接(服务器和已建立)
Proto Recv-Q Send-Q 本地地址 外部地址 状态
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN tcp 0 0
howtoing:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* 监听
tcp 0 0 localhost :postgres 0.0.0.0:* 监听
tcp 0 0 howtoing:ssh 192.168.0.124:45611 已建立
tcp6 0 0 [::]:sunrpc [::]:* 监听
tcp6 0 0 [::]:ssh [::]:* 监听
tcp6 0 0 本地主机:postgres [::]:* 监听
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp 0 0 本地主机:323 0.0.0.0 :*
udp 0 0 howtoing:domain 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 howtoing:bootpc _gateway:bootps 已建立
...
20 个监控 Linux 性能的命令行工具-5.webp

Netstat - Linux 网络连接监控
尽管 netstat 现已被弃用,取而代之的是 ss 命令,但您仍然可以在网络工具箱中找到 netstat。

6. Htop—— Linux​

htop 是一个先进的、交互式的、实时的Linux进程监控工具,它很像top命令,但有许多额外的好处,比如用户友好的进程管理界面、快捷键、垂直和水平进程视图,以及更多。

#htop
20 个监控 Linux 性能的命令行工具-6.webp

Htop - Linux 系统进程查看器
htop 是一个第三方工具,不随Linux系统一起提供,必须使用包管理器安装。

7.iotop——在Linux​

iotop 也与 top 和 htopiotop 命令非常相似,该实用程序允许您查看有关磁盘访问操作总数和当前数量的信息。

使用该实用程序,您可以了解当前正在使用磁盘的进程及其频率。访问过该实用程序显示的信息与 htop 实用程序类似;它显示磁盘写入和读取的活动、交换分区的使用情况、进程磁盘访问的完整统计信息等。

在Linux上安装 Iotop​

默认情况下,iotop 命令在Linux上不可用,您需要安装它:

$ sudo yum install iotop [On Older CentOS / RHEL & Fedora]
$ sudo dnf install iotop [On CentOS / RHEL /Fedora/Rocky Linux & AlmaLinux]
$ sudo apt- get install iotop [在Debian / Ubuntu和 Mint 上]
$ sudo pacman -S iotop [在 Arch Linux上]
通常使用以下格式的 iotop 命令。

# iotop
20 个监控 Linux 性能的命令行工具-7.webp

iotop - 监控Linux 中的磁盘 I/O 使用情况iotop
实用程序仅以管理员权限运行,因此我使用sudo来运行它: $ sudo iotop

8. iostat——I/O统计​

iostat是一个简单的工具,可以收集并显示基本的磁盘I/O参数、数据写入和读取速度以及写入或读取的数据量该工具通常用于跟踪存储设备性能问题,包括。

安装 Iostat​

安装iostat命令需要安装sysstat包,如图。

$ sudo yum install sysstat [在旧版CentOS / RHEL和 Fedora 上]
$ sudo dnf install sysstat [在CentOS / RHEL /Fedora/Rocky Linux和 AlmaLinux 上]
$ sudo apt-get install sysstat [在Debian / Ubuntu和 Mint 上]
$ sudo pacman -S sysstat [在 Arch Linux上]
iostat 命令通常使用以下格式。

# iostat
Linux 4.18.0-193.el8.x86_64 (howtoing) 04/05/2021 x86_64 (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.21 0.03 0.59 2.50 0.00 96.67
设备 tps kB_read /s kB_wrtn/s kB_read kB_wrtn
sda 3.95 83.35 89.63 1782431 1916653
20 个监控 Linux 性能的命令行工具-8.webp

iostat – 监控磁盘 I/O 统计数据

9. IPTraf – 实时IP LAN监控​

IPTraf 是一款适用于Linux的开源实时网络 (IP LAN) 控制台监控实用程序。它收集监控通过网络的 IP 流量等各种信息,包括 TCP 信息、ICMP 信息、TCP/UDP 流量、TCP 连接数据包和字节计数。

IPTraf允许系统管理员按协议查看网络数据包(通过网络接口传递)的统计数据、按网络数据包大小的统计数据以及当前接口带宽。

20 个监控 Linux 性能的命令行工具-9.webp

IPTraf IP网络监控器

10. Psacct 或 Acct – 监控用户活动​

psacct 或 acct 实用程序对于监视系统上每个用户的活动非常有用。这两个守护进程都在后台运行,帮助监视系统上每个用户的总体活动以及他们消耗的资源。

您可以看到用户正在做什么,正在执行什么命令,正在使用多少资源,在系统中活跃了多长时间等。

20 个监控 Linux 性能的命令行工具-10.webp

psacct – 监控Linux 用户活动

11.Monit——监控Linux​

Monit 是一款适用于Linux操作系统的免费开源主动监控实用程序。该实用程序允许您:

  • 通过记录文件权限、目录大小和校验和的变化来监视和控制系统进程、程序、文件、目录;
  • 停止资源密集型进程,重新启动已停止响应的服务并启动已停止的服务
  • 显示有关已监视的每个进程的状态以及操作系统为这些进程的运行分配的资源的信息;
它允许您监控 Apache、MySQL、Mail、FTP、ProFTP、Nginx、SSH 等服务。可以从命令行或使用用户友好的界面查看系统状态。

Monit 监控Linux系统


Monit 监控Linux系统

12. NetHogs - 监控每个进程的网络吞吐量​

NetHogs是一个小型开源程序(类似于Linux top 命令),用于监视系统上每个进程的网络活动。它还实时监控每个程序或应用程序使用的网络流量带宽。# nethogs

Nethogs 监控 Linux 中的网络流量


Nethogs 监控Linux 上的网络流量

13. iftop – 网络带宽监控​

iftop 是另一个免费的终端实用程序,用于监视接口级别的网络流量。 iftop 显示有关当前网络连接、数据传输、数据传输速度的信息,还显示建立连接的 IP 地址和端口。该实用程序是一个非常有用的工具,用于分析Linux系统上运行的服务器上的网络活动。

iftop类似于网络使用情况中的“top”,类似于“ top ”提供有关 CPU 使用情况的信息。

#iftop
iftop - 网络带宽监控


iftop - 网络带宽监控
如果您需要有关使用 iptop 的详细信息,请在命令行中键入:

$ man iftop

14. Monitorix – 监控系统和网络​

Monitorix 是一款免费的轻量级实用程序,旨在大规模运行和监控Linux /Unix 服务器的

系统和网络资源。 它有一个内置的HTTP Web服务器,定期收集系统和网络信息并以图表的形式显示。监控系统负载和使用情况、内存分配、磁盘驱动器状态、系统服务、网络端口、邮件统计(Sendmail、Postfix、Dovecot 等)、MySQL 统计等等。

它旨在监控系统的整体性能,并帮助检测系统运行中的故障、瓶颈、异常等。

Monitorix 监控


Monitorix 监控

15. Arpwatch – 以太网网络活动监视器​

Arpwatch 是一个旨在监控Linux网络上以太网流量的地址解析(MAC 和 IP 地址变化)的程序。

Arpwatch 创建观察到的 IP 和 MAC 地址配对的日志以及时间戳,以便您可以密切监控网络上何时出现配对活动。

当添加或更改配对时,该程序还能够通过电子邮件向网络管理员发送报告。

Arpwatch 工具对于监控 ARP 活动以检测 ARP 欺骗或意外的 IP/MAC 地址更改的网络管理员特别有用。

Arpwatch - 监控 ARP 流量


Arpwatch – ARP 流量监控

16. Suricata – 网络安全监控​

Suricata 是一款适用于LinuxFreeBSD和 Windows的高性能开源网络安全监控以及入侵检测和防御系统。

它由非营利组织 OISF(开放信息安全基金会)开发并拥有。

Ime

使 Suricata 能够使用 GPU 在 IDS 模式以及高级 IPS 中进行计算。该系统最初是为多线程设计的。

17. VnStat PHP – 网络带宽监控​

vnStat PHP 是 vnStat 的 Web 界面,vnStat 是Linux系统的带宽监控工具。 vnStat PHP 允许您通过网络浏览器以有吸引力且易于使用的格式查看 vnStat 收集的数据。

vnStat PHP 提供了许多自定义选项,例如选择要监视的网络接口以及自定义用于显示数据的颜色和图形。

18. Nagios – 网络/服务器监控​

Nagios 是一个功能强大的开源监控系统,允许网络/系统管理员在服务器相关问题影响核心业务流程之前识别并解决这些问题。

Nagios 运行存储在连接到网络或 Internet 上的主机或其他服务器的服务器上的插件。一旦发生故障,系统会发出问题警报,以便技术团队立即进行恢复过程。

19. nmon: Linux性能监控​

Nmon(Nigel 的 Performance Monitor 的缩写)是一个完全交互式的命令行实用程序,用于监视Linux系统性能,最初由 IBM 为 AIX 系统开发,后来移植到Linux平台。 nmon 工具的一个重要优点是它允许您监控Linux

系统 各个方面的性能,例如 CPU 负载、内存使用情况、磁盘空间、网络使用情况、核心进程、虚拟机统计信息、文件系统、资源、微处理器功率。部分以及更多内容都集中在一个浓缩视图中。 除了以交互方式监控您的Linux系统之外,nmon 还可以用于批处理模式来收集和存储性能数据以供以后分析。



Nmon - Linux 性能监控工具


Nmon – Linux 性能监控工具

20. Collectl:一款一体化性能监控工具​

Collectl 是另一个功能强大且功能丰富的命令行实用程序,可用于收集有关Linux系统资源的信息,例如 CPU 使用情况、内存、网络、进程、nfs、TCP、套接字等。

集中监控


收集器监控
请在评论中告诉我们您使用哪些监控程序来监控Linux服务器的性能。如果我们遗漏了您想要包含在此列表中的任何重要工具,请在评论中告知我们,并且不要忘记分享。

Tutorial/教程 在 Debian 11/12/10 上安装 Fail2ban

第 1 部分:安装 Fail2ban​


第 1 步:更新Debian​


在安装 Fail2Ban 之前,您必须更新Debian操作系统。这可确保所有现有软件包都是最新的,并且您运行的是最新版本的软件。要更新系统,请在终端中运行以下命令:

sudo apt update &amp;&amp; sudo apt upgrade

该命令 sudo apt update 从存储库中检索最新的软件包信息,并将sudo apt upgrade已安装的软件包更新到最新版本。


第2步:安装Fail2ban​


Fail2Ban 包含在默认的Debian存储库中,这意味着您不需要添加额外的存储库来安装该程序。要安装 Fail2Ban,请在终端中使用以下命令:此命令告诉软件包管理器 (apt) 在您的Debian


sudo apt install fail2ban

系统 上安装 Fail2Ban 软件包。


第3步:确认安装Fail2ban​


安装完成后,您需要确认 Fail2Ban 已正确安装。为此,请运行以下命令:

fail2ban --version

此命令将显示已安装的 Fail2Ban 版本,表明安装成功。


步骤4:检查Fail2ban服务​


安装后,Fail2Ban 服务应处于活动状态并默认启用。但是,检查服务的状态以确保其按预期工作始终是一个好主意。要检查 Fail2Ban 服务的状态,请使用以下 systemctl 命令:

systemctl status fail2ban

如果您的 Fail2Ban 服务未激活或未运行,您可以使用以下命令启动它:

sudo systemctl start fail2ban

此命令告诉 systemctl 启动 Fail2Ban 服务。如果您还想默认在系统启动时启用 Fail2Ban,请使用以下命令:

sudo systemctl enable fail2ban

在系统启动时启用 Fail2Ban 可确保该服务在您重新启动Debian服务器时自动启动,从而提供持续保护,无需手动干预。


第 2 部分:安装 UFW(可选)​


如果您更愿意将简单防火墙 (UFW) 与 Fail2Ban 结合使用而不是 IPTables,请按照以下步骤操作。 UFW 是 IPTables 的友好界面,提供了一种管理服务器防火墙的简单方法。请注意,Debian默认情况下没有 UFW。


第1步:安装UFW​


要在Debian系统 上安装 UFW ,请在终端中运行以下命令:此命令使用包管理器 (apt) 从Debian

sudo apt install ufw

存储库 安装 UFW 包。


第 2 步:验证安装​


安装UFW后,需要验证安装是否成功。要检查已安装的UFW版本,请运行以下命令:

ufw version

该命令将显示已安装的UFW版本,表明安装成功。


第 3 步:启用 UFW​


现在是时候在您的系统上启用 UFW 了。启用 UFW 将启用防火墙并确保它在您启动Debian服务器时自动启动。要启用 UFW,请使用以下命令:

sudo ufw enable

该命令请求启动 UFW 并将其配置为在系统启动时启动。运行此命令后,您应该看到类似于以下内容的输出:


在 Debian 111210 上安装 Fail2ban-1.webp


此输出确认 UFW 处于活动状态,并将在您重新引导Debian服务器时自动启动。


第 3 部分:Fail2Ban 备份设置​


安装Fail2Ban后,您需要根据您的服务器环境进行安装和配置。 Fail2Ban 附带两个默认配置文件,位于 /etc/fail2ban/jail.conf 和/etc/fail2ban/jail.d/defaults-debian.conf


重要提示:不要直接修改这些文件。这些是您的原始文件,将在未来的 Fail2Ban 更新期间被替换。


要保存用户设置,请创建扩展名为 .local 的配置文件的副本。 Fail2Ban 将优先读取 .local 文件而不是 .conf 文件。通过创建 .local 文件,您可以确保您的设置在更新期间不会丢失,并且您始终有一个新副本可以在配置错误时依靠。


第 1 步:备份您的配置文件​


运行以下命令创建jail.conf 文件的副本:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

此命令使用cp(复制)命令在同一目录中创建名为jail.local 的重复jail.conf 文件。 sudo 前缀提供执行此操作所需的权限。



您现在拥有原始配置文件的备份,并且可以通过编辑jail.local 文件安全地配置Fail2Ban 设置,而不必担心在将来的更新期间丢失更改。


第 4 部分:设置 Fail2Ban​


备份原始配置文件后,需要更改jail.local 文件中的设置以满足服务器的安全需求。


步骤一:编辑配置文件​


要使用nano 编辑器编辑jail.local 文件,请运行以下命令:

sudo nano /etc/fail2ban/jail.local

此命令以管理员权限在nano 文本编辑器中打开jail.local 文件,允许您编辑其内容。


第二步:增加禁令时间​


启用“禁令时间增量”选项可延长屡犯者的禁令持续时间。例如,如果默认禁止时间为一小时,您可以在五次重复禁止后将其增加到五小时。为此,您需要为禁止时间增加逻辑设置一个乘数。


例子:


在 Debian 111210 上安装 Fail2ban-2.webp


在此示例中,后续每个禁令的禁令时间都会加倍。您可能希望启用此功能,通过增加每次被禁止时的禁止持续时间来阻止持续的攻击者。


步骤 3:将 Fail2Ban 中的 IP 地址列入白名单​


要将特定 IP 地址列入白名单,请注释掉ignoreip 行并添加所需的 IP 地址,以空格或逗号分隔。您还可以将 IP 地址范围列入白名单。


示例:

ignoreip = 127.0.0.1/8 ::1 180.53.31.33 (example IP address)

本例中,IP 地址 180.53.31.33 被列入白名单。您可能希望将属于受信任用户或服务的 IP 地址列入白名单,以防止意外禁止。


步骤 4:配置默认禁止时间​


默认情况下,在 10 分钟窗口内尝试失败 5 次后,Fail2Ban 会禁止攻击者 10 分钟。您可以自定义这些默认设置,但建议您为不同的监狱设置自定义禁止时间和重试限制。


例子:


在 Debian 111210 上安装 Fail2ban-3.webp


在此示例中,默认设置会在 10 分钟窗口内尝试 5 次失败后阻止攻击者 10 分钟。您可以更改这些设置以更好地满足服务器的安全要求。


步骤 5:配置 Fail2Ban 以使用 UFW 而不是 IPTables​


要将 Fail2Ban 配置为使用 UFW 而不是 IPTables 作为默认禁止操作,请更新 [DEFAULT] 部分中的 banaction 行。


示例:

[DEFAULT]
banaction = ufw

通过将 banaction 更改为 ufw,Fail2Ban 将使用 UFW 而不是 IPTables 来管理禁令。如果您已经使用 UFW 作为服务器的主要防火墙并且想要维护一致的管理系统,这非常有用。


第 6 步:警报/电子邮件​


配置 Fail2Ban 以将带有 whois 报告的电子邮件通知发送到指定的电子邮件地址。您还可以设置各种报告选项,例如向黑名单提供商或攻击者的提供商发送电子邮件。


例子:


在 Debian 111210 上安装 Fail2ban-4.webp


在此示例中,[email protected]是将通知发送到的电子邮件地址,[email protected]是通知将发送到的电子邮件地址。您可以启用电子邮件警报以随时了解安全事件并在必要时采取适当的措施。


第 7 步:Fail2Ban Jails​


Jails 包含针对各种服务器应用程序的预定义过滤器和操作。您可以根据服务器的需要启用、禁用或自定义监狱。


要启用监狱,请将enabled = true 添加到相应的监狱部分。


例子:


在 Debian 111210 上安装 Fail2ban-5.webp


此示例启用 apache-badbots Jail 功能来保护 Apache Web 服务器免受恶意机器人的侵害。在一次尝试失败后,此功能将阻止违规者 48 小时。您可以根据服务器上运行的服务及其相关的安全风险启用特定的监狱。


您还可以通过更新监狱部分中的 banaction 行来添加自定义操作或使用 action.d 目录中的操作。


例子:


在 Debian 111210 上安装 Fail2ban-6.webp


此示例启用 apache-botsearch Jail 功能来防止 Apache Web 服务器上的搜索机器人攻击。自定义禁止操作配置为使用 action_mw 和 cloudflare 操作。您可以添加自定义操作以增强安全性或将 Fail2Ban 与其他安全工具和服务集成。


步骤8:重新启动Fail2Ban服务​


Fail2Ban 配置完成后,重新启动服务以应用更改:

sudo systemctl restart fail2ban

第 5 节:如何使用 Fail2Ban 命令阻止/取消阻止​


配置 Fail2Ban 后,您可以使用fail2ban-client 命令管理 IP 禁止。您可能需要 sudo 权限,具体取决于您的设置。


第 1 步:阻止 IP 地址:​


要手动阻止特定监狱(例如 apache-botsearch)的 IP 地址,请使用以下命令:

sudo failure2ban-client set apache-botsearch banip <ip address>

此命令将指定的 IP 地址添加到禁止的 IP 列表中apache 监狱 -botsearch 的地址。因此,根据监狱中定义的规则,该 IP 地址将被阻止访问您的服务器。


第 2 步:解锁 IP 地址:​


要取消禁止特定监狱(例如 apache-botsearch)的 IP 地址,请使用以下命令:

sudo failure2ban-client set apache-botsearch unbanip <ip address>

此命令取消禁止指定的 IP 地址,允许其再次访问您的 IP 地址。服务器,前提是它遵循 apache-botsearch 监狱中的规则。


第 3 步:访问帮助菜单:​


要访问帮助菜单并查看其他设置或命令,请使用以下命令:

sudo fail2ban-client -h

此命令显示帮助菜单,其中包含用于管理 Fail2Ban 的各种选项和命令。


第 4 步:更多示例:​


检查特定监狱的状态:​

sudo fail2ban-client status apache-botsearch

此命令提供有关 apache-botsearch 监狱的信息,例如其当前状态和被禁止的 IP 地址的数量。


重新加载配置而不重新启动 Fail2Ban 服务:​

sudo fail2ban-client reload

此命令重新加载 Fail2Ban 配置,应用所做的所有更改,而无需重新启动服务。


检查您的特定监狱的禁止 IP 地址列表:​

sudo fail2ban-client get apache-botsearch banned

此命令列出了 apache-botsearch 监狱中当前禁止的所有 IP 地址。


为监狱中的特定 IP 地址设置自定义禁止时间:​

sudo fail2ban-client set apache-botsearch bantime &lt;time_in_seconds&gt; --banip &lt;ip_address&gt;

此命令在 apache-botsearch 监狱中禁止指定的 IP 地址一段指定的时间(以秒为单位)。


这些命令提供了使用 Fail2Ban 有效管理 IP 禁令的工具。请记住将 <ip_address> 替换为您要禁止或取消阻止的实际 IP 地址,并根据您的配置将 apache-botsearch 替换为适当的监狱名称。


第 6 节:检查/监控 Fail2Ban 日志​


监视和查看 Fail2Ban 日志以确保您的监狱正常运行非常重要。默认情况下,Fail2Ban 日志可以在 /var/log/fail2ban.log 中找到。


第1步:实时日志监控​


要实时查看日志并注意到服务器上运行时的任何问题,请使用 tail -f 命令:

tail -f /var/log/fail2ban.log

该命令允许您实时监视日志中的变化。当新条目添加到日志文件中时,您将看到它们,这可以帮助您识别异常活动或错误。


第二步:在日志中搜索具体信息​


您还可以使用 grep 命令在日志中查找特定信息,例如 IP 地址、用户代理或错误。 grep 命令过滤日志文件并仅显示包含指定关键字的行。


用户代理示例:​

grep "Bing" /var/log/fail2ban.log

此命令查找包含单词“Bing”的所有日志条目,这可以帮助您识别不需要的机器人或用户代理活动。


错误示例:​

grep "error" /var/log/fail2ban.log

此命令查找包含“错误”一词的日志条目,帮助您检测 Fail2Ban 的任何问题或问题。


IP 地址示例:​

grep "123.123.123.1" /var/log/fail2ban.log

此命令搜索包含指定 IP 地址的日志条目,允许您跟踪特定 IP 地址的活动或确定它是否已被拒绝。


这些示例演示了使用终端命令过滤和搜索日志的不同方法。定期查看 Fail2Ban 日志将帮助您维护服务器的安全并确保您的监狱按预期运行。


第 7 节:如何删除(卸载)Fail2Ban​


如果您决定从系统中删除 Fail2Ban,可以按照以下步骤轻松将其删除:


步骤 1:停用 Fail2Ban 服务​


如果 Fail2Ban 服务仍然处于活动状态,您需要先禁用它,以便删除过程顺利进行。禁用服务将阻止其在后台运行并干扰卸载过程。


使用以下命令禁用 Fail2Ban 服务并停止其运行:

sudo systemctl disable fail2ban --now

此命令立即禁用 Fail2Ban 服务(-now 标志)并确保它不会在后续系统重新引导时自动启动。


第 2 步:从系统中删除 Fail2Ban​


禁用该服务后,您可以使用以下命令删除 Fail2Ban:

sudo apt remove fail2ban

此命令将删除 Fail2Ban 及其系统依赖项和关联数据。

Tutorial/教程 在Ubuntu 24.04上安装 Bpftool

第 1 步:更新包存储库。​

首先,您需要更新系统软件包以确保您拥有最新版本。打开终端并运行以下命令:

代码:
代码:
sudo apt update
sudo apt upgrade

更新系统软件包有助于避免兼容性问题并确保您拥有最新的安全补丁。

步骤 2. 安装依赖项。​


bpftool 需要多个依赖项才能正常工作。通过运行以下命令来安装它们:

代码:
sudo apt install -y git build-essential libelf-dev clang llvm
Bash

此命令将安装必要的软件包,包括用于克隆 bpftool 存储库的 Git、构建工具以及编译 bpftool 所需的库。

步骤 3:为您的内核安装​


安装特定于您的内核版本的Linux
代码:
sudo apt install linux-tools-$(uname -r)
Bash

工具: 如果您遇到错误,提示找不到软件包,可能是因为适合您的内核版本的工具不可用。在这种情况下,请尝试安装具有必要工具的不同版本的内核。

步骤 4. 安装 Bpftool。​

接下来,从 GitHub 克隆 bpftool 存储库:


代码:
git clone --recurse-submodules https://github.com/libbpf/bpftool.git
Bash

--recurse-submodules 选项确保所有必需的子模块也被克隆。


转到 bpftool 源目录并构建该工具:

代码:
代码:
cd bpftool/src
make
Bash

构建过程完成后,安装 bpftool:

代码:
sudo make install
Bash

通过检查版本验证安装:

代码:
bpftool --version
Bash

要使 bpftool 在系统范围内可用,请创建符号链接:

代码:
sudo ln -s /usr/local/sbin/bpftool /usr/sbin/bpftool
Bash

通过运行以下命令验证 bpftool 是否已正确安装:

代码:
bpftool --help
Bash

如果安装成功,您将请参阅 bpftool 帮助,其中列出了可用的命令和选项。

第 5 步:故障排除​


如果您在安装过程中遇到问题,请尝试以下故障排除提示:
  • “bpftool:找不到命令”:验证在步骤 7 中是否正确创建了符号链接。如果问题仍然存在,请尝试运行 sudo ldconfig 来更新系统库缓存。
  • 内核版本兼容性问题:如果您无法安装特定内核版本的Linux工具包,请尝试将内核更新到支持的版本。升级内核的说明可以在Ubuntu文档中找到。
  • 缺少依赖项:仔细检查您是否已安装步骤 2 中列出的所有必需依赖项。如果发现缺少软件包,请尝试运行 sudo apt install <package name> 来单独安装它们。

Tutorial/教程 Nginx-限制站点上的负载 Limit_zone/limit_req

Nginx 是一个 Web 服务器,其开发旨在高负载下工作。但无论 nginx 的功能如何,当您需要限制站点/服务器上的负载时。这里的考虑因素可能有所不同,首先,这对于那些喜欢下载整个网站,然后将其以不同名称放置的人来说是一个障碍,当然对此的保护很弱,其次,有高峰,短期-术语负载,为此没有必要扩展服务器硬件。

Nginx 有两个模块 ngx_http_limit_zone_module - 旨在限制同时连接到服务器的数量和 ngx_http_limit_req_module - 需要限制每单位时间的请求数量,这些模块的一大优点是它们被定向到特定的地址,也就是说,它们仅限制每个 IP 地址的连接或请求数量。

下载大文件(电影、图像、图片)时,需要限制同时连接(下载)的数量。该设置由两部分组成。首先,http 部分描述了 limit_zone 指令;这描述了用于存储连接和会话状态的哈希(区域)。接下来,在该位置或整个虚拟主机中,使用 limit_conn 描述允许的连接数。

在 nginx.conf 配置中,设置如下所示:
代码:
user  www;
worker_processes  2;
pid        /var/run/nginx.pid;
 
events {
    use kqueue;
    worker_connections  1024;
    multi_accept on;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    large_client_header_buffers 4 4k;
    tcp_nopush on;
    sendfile on;
    output_buffers   32 512k;
    sendfile_max_chunk  128k;
    postpone_output  1460;
    tcp_nodelay      on;
    limit_zone   lconn  $binary_remote_addr  10m;
    fastcgi_intercept_errors on;
    server_names_hash_bucket_size 64;
    client_max_body_size 15m;
server {
        listen       89.252.34.107;
        server_name  hilik.org.ua www.hilik.org.ua;
        limit_conn   lconn  1;
        location / {
                   root /usr/local/www/hilik.org.ua;
                        index  index.html index.htm;
        }
 
   }
 
}

在此示例中,我们限制了整个虚拟主机 hilik.org.ua 的同时下载(连接)数量。


设置 limit_req 与 limit_zone 非常相似。同样,配置一个区域(limit_req_zone)来存储会话状态,会话状态也基于请求来源的 IP 地址,并且还使用 limit_req 将限制引入到虚拟主机或位置。


在配置中,设置如下所示:
NGINX:
<pre lang="bash">
user  www;
worker_processes  2;
pid        /var/run/nginx.pid;
 
events {
    use kqueue;
    worker_connections  1024;
    multi_accept on;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    large_client_header_buffers 4 4k;
    tcp_nopush on;
    sendfile on;
    output_buffers   32 512k;
    sendfile_max_chunk  128k;
    postpone_output  1460;
    tcp_nodelay      on;
#Зона для учета запросов
    limit_req_zone  $binary_remote_addr  zone=lreq:10m   rate=2r/s;
    fastcgi_intercept_errors on;
    server_names_hash_bucket_size 64;
    client_max_body_size 15m;
server {
        listen       89.252.34.107;
        server_name  hilik.org.ua www.hilik.org.ua;
#Вносим ограничение
                limit_req   zone=lreq  burst=4;
        location / {
                   root /usr/local/www/hilik.org.ua;
                   index  index.html index.htm;
        }
 
   }
 
}

limit_req 包含突发参数 - 该参数确定最大、短期超出限制的次数。同时,对于超过限制的IP地址进一步发出的请求,请求数量将被重新计算并调整为一定的限制。那么,一般来说,如果1秒内有4个请求来自该地址,那么下一秒就不会处理任何请求。直到每秒请求数恢复到正常限制。

如果超出 limit_zone 和 limit_req_zone 限制,nginx 将返回 503 错误。

过滤器

热门资源

后退
顶部