WordPress 优化 精简 缓存 加速

最近在全面更新2个网站。
快10年没有大更新了。服务器老PHP7各种报错,wordpress的版本也太老,各种兼容性问题不敢升级。
记录一下结合Gemini AI沟通的 优化过程:代码升级,功能修改,内容补充,性能提升。

性能优化概览:

  1. Opcache(PHP缓存):在底层加速 PHP 脚本的编译,提升了所有 PHP 代码的执行效率。
  2. advanced-cache(插件-页面缓存):为大众访客提供闪电般的访问速度。
  3. redis(数据库对象缓存):为后台、动态页面和数据库减负,全面提升网站响应能力。
  4. WP-Optimize(插件):删除文章修订记录 (Post Revisions) 清理“孤儿数据表” (Orphaned Tables)

VPS 层面:安装php扩展

  1. opcache
    • 作用性能核弹! 这是最重要的PHP性能提升工具。它会将编译过的PHP代码缓存到内存中,下次再有相同请求时,直接从内存读取,省去了重复编译的步骤。
    • 效果:可以使您的网站PHP执行速度提升 2到5倍,并显著降低CPU负载。
    • 结论必装! 这是所有PHP网站(包括WordPress)性能优化的第一步。
  2. redismemcached
    • 作用对象缓存器。它们可以将WordPress频繁查询数据库的结果(比如网站设置、文章数据等)缓存到内存中。
    • 效果:当网站需要这些数据时,直接从速度极快的内存(Redis/Memcached)中读取,而不是每次都去查询速度较慢的数据库。这能极大地降低数据库压力,提升网站响应速度,尤其是在高并发访问时效果显著。
    • 结论强烈推荐redis 功能更丰富,是目前的主流选择。注意: 在宝塔里安装了redis扩展后,还需要在WordPress后台安装一个类似 Redis Object Cache 的插件来启用它。
    • 功能更强:Redis 支持更丰富的数据类型,并且支持数据持久化(可以将内存中的数据定期保存到硬盘,重启后不丢失)。
    • 社区更活跃:Redis 是目前的主流,拥有更广泛的支持和更现代化的相关工具。
    • 性能相当:对于 WordPress 的对象缓存场景来说,两者的性能差异微乎其微,您感觉不到区别。
  3. imagemagick
    • 作用:一个比PHP默认的GD库更强大、更高效的图片处理库。
    • 效果:WordPress在上传图片、生成缩略图时会使用它。imagemagick 通常能生成更高质量、体积更小的缩略图,且处理速度更快。
    • 结论强烈推荐安装,可以提升图片处理的质量和效率。
  4. intl
    • 作用:PHP的国际化扩展,用于处理不同国家和地区的语言、货币、日期格式等。
    • 效果:WordPress核心以及很多多语言插件(如WPML)、电子商务插件(如WooCommerce)都依赖它来正确显示和处理国际化内容。WordPress后台的“站点健康”功能也会建议您安装它。
    • 结论强烈推荐安装,以确保最佳的兼容性和功能完整性。
  5. exif
    • 作用:用于读取图片文件中的元数据(EXIF信息),比如相机型号、拍摄日期、GPS位置、图片方向等。
    • 效果:WordPress可以利用这些信息自动校正上传图片的旋转方向。很多相册插件也会用它来展示照片信息。
    • 结论推荐安装,功能虽小但很实用。
  6. fileinfo
    • 作用:用于检测文件的MIME类型,即判断一个文件到底是什么类型(是图片、PDF还是文本)。
    • 效果:增强了WordPress处理文件上传的安全性。WordPress核心也推荐安装。
    • 结论推荐安装

PHP配置文件修改

Opcache 配置优化

以下是小VPS配置,以及为什么进行这些优化的原因。

  • opcache.revalidate_freq = 3对于生产环境,这个值可以调整为 0。将这个值设为 60 意味着 Opcache 每 60 秒会检查一次文件更新。虽然这对于开发环境很方便,但对于几乎不更新的个人网站来说,这是不必要的性能开销。将它设为 0 可以获得最佳性能,因为 Opcache 将不再检查文件修改。每次更新网站代码后,你需要手动清空缓存,但这种操作对于小网站来说并不频繁。 (这段我决定不修改,影响我修改期间查看效果。折腾完可以改为0)
  • opcache.max_accelerated_files = 20000这个值对于两个小网站来说可能有些偏高,但它不会造成负面影响,所以可以保留。这个值决定了 Opcache 可以缓存的最大文件数。如果你的网站文件数量不多(例如 WordPress 默认安装加上几个插件),这个数字可能远大于实际需要。但即使如此,它也不会影响性能,只是会占用一点点额外的内存。
  • opcache.jit=tracing这个值可以调整为 1205。tracing 模式是 JIT 的最高级别优化,能提供最佳性能,这和 opcache.jit=1205 是一样的效果,所以你也可以将它保留。不过,对于小流量的个人网站,JIT 带来的性能提升可能不像高流量网站那么明显。
  • opcache.save_comments = 1这个值可以调整为 0。这个设置会告诉 Opcache 保存 PHP 文件中的注释。大多数情况下,网站运行不需要这些注释。禁用它可以节省一些内存,并略微提升性能。

其他 PHP 配置优化

除了 Opcache 之外,我们还可以从 PHP-FPM 的角度进行一些优化。你的 2C 2G VPS 资源有限,合理配置 PHP-FPM 可以让你的网站运行更稳定。

  1. 减少 PHP-FPM 子进程:由于你的网站流量很小,你可以适当降低 PHP-FPM 的子进程数来节省内存。检查你的 PHP-FPM 配置文件(通常是 www.conf)。
    • pm = dynamic
    • pm.max_children = 20 (可以适当降低到 10-15)
    • pm.start_servers = 5 (可以适当降低到 2-3)
    • pm.min_spare_servers = 2
    • pm.max_spare_servers = 5这些值可以根据你服务器的实际内存使用情况进行调整。如果内存充足,可以保持默认值;如果内存紧张,适当降低可以防止内存耗尽。
  2. 增加 memory_limit在 php.ini 文件中,你可以找到 memory_limit。
    • memory_limit = 256M (或更高)对于 WordPress 等内容管理系统,256M 是一个比较安全的推荐值,可以避免一些大型插件或主题因内存不足而崩溃。

Redis配置 (适用于 4GB 内存服务器)

  1. 登录宝塔面板,进入 Redis 的设置界面。
  2. 在**“性能调整”**页面:
    • maxmemory 的值从 0 修改为 512
    • requirepass 设置一个强密码(可选但推荐)。
  3. 切换到**“配置文件”**页面:
    • 确保 maxmemory-policy 的值是 allkeys-lru
  4. 保存 Redis 配置,并重启 Redis 服务。
  5. 如果设置了密码,请务必去 WordPress 后台的 Redis Object Cache 插件设置中填入相同的密码。

用Gemini 生成几张图

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

最新文章

Tags Cloud

blender Blizzard CentOS6.3 Dream Evernote笔记同步 Game goagent Google Hellboy漫画系列 HTML5 KB5070311 Linux lnmp Maya Movies mysql nginx php reproduce SATA mode scp SSH storyboard SwitchyOmega The Simpsons to-page wordpress 动画 大三 定格动画 挂科 每日一Bia 毕业设计 漫画 漫画日记 眼高手低 美国恐怖故事 考试 自信 色彩Color 辛普森一家 远程桌面 速写 那时我年幼 阿里云

黑历史

ADs