安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(6)

安装 Ubuntu 26.04 (LTS), Webmin, Nginx, MariaDB, PHP8.5-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(6)

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

文章介绍了在Ubuntu 26.04 VPS上配置安全与性能优化的补充步骤:用nftables和fail2ban替代TCP Wrap防护,启用BBR提升网络传输,并为PHP 8.5开启JIT加速。通过配置和测试,性能显著提升,如bench.php时间从0.270秒降至0.0898秒,并建议修改jail.local避免封禁自己。

🔎

延伸解读

安全防护:从TCP Wrap到nftables与fail2ban

文章提到作者已很少使用TCP Wrap,转而采用nftables配合fail2ban。Ubuntu 26.04默认安装UFW作为nftables前端,但作者选择卸载UFW并直接启用nftables。fail2ban的配置建议修改jail.local,并在ignoreip中填入自己的IP,避免误封。实际运行中,fail2ban在约20小时内封禁78个IP,7天后累计封禁831次,可见其有效拦截扫描流量。

启用BBR优化网络传输

BBR是Google开发的拥塞控制算法,对网络传输性能有显著提升。文章建议在/etc/sysctl.d/99-network.conf中添加配置,启用fq队列规则和bbr算法,并通过sysctl命令验证。启用后,可用sysctl net.ipv4.tcp_available_congestion_control查看可用算法,确认bbr已生效。这一优化对VPS的网络吞吐和延迟改善明显。

PHP 8.5开启JIT加速性能

对于重度使用PHP的用户,开启JIT可显著提升性能。文章建议修改/etc/php/8.5/fpm/conf.d/10-opcache.ini,设置opcache.enable_cli=1、opcache.jit_buffer_size=64M和opcache.jit=tracing。修改后重启php8.5-fpm,通过bench.php等测试,平均时间从0.270秒降至0.0898秒,性能提升约3倍,实际体验更流畅。

Q&A

如何在Ubuntu 26.04上启用BBR以优化网络传输?

编辑/etc/sysctl.d/99-network.conf文件,添加以下内容:net.core.default_qdisc=fq和net.ipv4.tcp_congestion_control=bbr,然后运行sudo sysctl -p /etc/sysctl.d/99-network.conf应用配置。

Ubuntu 26.04默认使用什么防火墙?如何替换为nftables?

Ubuntu 26.04默认使用UFW作为nftables的前端。要替换为nftables,先禁用并移除UFW:sudo systemctl disable --now ufw和sudo apt remove ufw,然后启用nftables:sudo systemctl enable --now nftables。

如何配置fail2ban以避免封禁自己的IP?

在/etc/fail2ban/jail.local文件中,将你的IP地址添加到ignoreip参数中,这样fail2ban就不会封禁你的IP。

如何为PHP 8.5开启JIT加速?

编辑/etc/php/8.5/fpm/conf.d/10-opcache.ini文件,添加或修改以下配置:opcache.enable_cli=1、opcache.jit_buffer_size=64M、opcache.jit=tracing,然后重启php8.5-fpm服务。

启用BBR和JIT后,性能提升有多大?

启用BBR和JIT后,性能显著提升。例如,bench.php测试时间从0.270秒降至0.0898秒,MicroBench从1.8302降至0.7874,bubble.php从0.08230降至0.0393,X Prober的Server Benchmark得分从463,062提升到506,317。

fail2ban在运行一段时间后封禁了多少IP?

启用fail2ban约20小时后,封禁了78个IP;运行7天后,封禁IP数量达到831次,当前有95个IP被禁。

🏷️

标签

➡️

继续阅读