WordPress网站环境性能优化即为加速之服务器缓存“Memcached和OPCache(advanced-cache.php、object-cache.php)”的说明
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
现在玩Wordpress建站的越多来越多,Wordpress包含好多图片,文字,css,js等,同时加载的时候若小水管还是挺慢的,给自己Wordpress博客加速也算必须行列,服务器缓存网站加速是必不可少的,大致我们就来说一下WordPress优化加速“Memcached和OPCache”
WordPress网站环境性能优化即为加速之服务器缓存“Memcached和OPCache”
WordPress网站环境性能优化一般推荐如下三种
一、Memcached:让 WordPress 使用 Memcached 进行内存缓存加速。
二、Opcache:使用 Opcache 进行 PHP 代码编译加速优化。
三、动静态分离:对 WordPress 站点静态资源(JS,CSS,图片)进行 CDN 加速
OPcache 是 PHP 的官方推出的字节码缓存器(Zend OPcache)即PHP的一个扩展,用于缓存已编译的 PHP 脚本,从而避免每次请求时重复编译代码,显著提升 PHP 脚本的执行效率。OPcache 通过将 PHP 脚本编译成字节码并缓存到共享内存中,使得后续请求可以直接使用缓存中的字节码,而无需重新编译。
1、OPcache 用来提高 PHP 代码执行效率, 减少每次加载和解析 PHP 脚本的开销。对于 php7 默认集成了OPcache,所以在 php.ini 中开启(lnmp 开启 Opcache 脚本缓存提高 php 性能)就可以了。
小提示:所以说建议php版本起步就要php7.0 以上,除非网站程序不支持。
2、Memcached 用来把数据库内容都缓存到内存中,所以建议使用 memcached 来减少数据库的访问次数。对于云服务器(虚拟主机做不到),需要先在服务器上安装 memcached 服务端,然后再安装 memcached 的客户端和 php 扩展,最后在 WordPress 中开启它。
安装 OPCache 和 Memcached
登录宝塔后台,在「软件商店」-「运行环境」中安装 Memcached (默认安装即可),完成后,在「已安装」里选之前装的 PHP,添加 OPCache、Memcached 扩展;
WordPress优化或缓存,市面上有不少插件,有不少都建议WPJAM Basic:安装插件WPJAM Basic。
其实真的使用的也无非两个文件,一个是object-cache.php,另外一个是advanced-cache.php;
object-cache.php文件为开启Mecached 动态缓存的插件,作用是将查询数据库的动态内容缓存在内存中。
advanced-cache.php是用于将 HTML 静态内容缓存进内存,如 WP Super Cache、W3 Total Cache 等知名静态缓存插件均调取了这一拓展。
它两名为插件实为 WordPress 的强化拓展,此二文件的工作目录为 wp-content而非 wp-content/plugins/
宝塔面板安装OPcache和Memcached扩展加速WordPress网站的说明“开启Memcached别忘记设置PHP里面的Session”
延伸阅读:Wordpress网站环境PHP建议
建议✅开启的扩展如下
bcmath Core ctype curl date dom exif fileinfo filter hash iconv igbinary imagick intl json libxml mbstring mysqli mysqlnd openssl pcre PDO pdo_mysql Phar random redis Reflection session SimpleXML SPL standard tokenizer xml xmlreader xmlwriter Zend OPcache zip zlib
建议❌禁用的扩展如下:
apcu memcache memcached gd imap smtp sockets readline pdo_dblib pdo_sqlite sqlite3 posix shmop xdebug
延伸阅读:关于说明OPCache工作流程及性能
1、opcach的工作流程如下:
预加载阶段:在 PHP 进程启动时,OPcache 会根据配置的预加载脚本列表,将这些脚本编译成字节码并缓存到共享内存中。
请求处理阶段:当接收到请求时,如果请求的脚本已经在预加载列表中,OPcache 直接使用缓存中的字节码,而无需再次编译。
自动刷新:如果预加载的脚本发生更改,OPcache 会自动重新加载这些脚本,确保缓存中的字节码是最新的。
2、OPCache 在下面几个关键点提升了性能:
CPU 节省:避免重复编译,降低 CPU 负载(尤其是 WordPress 这类动态脚本)。
I/O 优化:减少磁盘读取 .php 文件的次数(对机械硬盘效果显著)。
内存效率:字节码比原始 PHP 代码更紧凑,共享内存减少整体内存占用。
所以对于 WordPress 来说,就特别需要 OPCache 了,因为 WordPress 每个页面请求都会加载大量 PHP 文件(主题、插件、核心),这样未优化的 WordPress 在流量高峰时容易因 PHP 编译拖慢响应。
里选之前装的 PHP,添加OPCache、Memcached 扩展
3、常见的PHP缓存类型
Opcode缓存:将PHP脚本编译后的字节码存储在内存中,避免重复解析和编译。
数据缓存:使用Redis或Memcached等工具缓存数据库查询结果或对象数据。
页面缓存:直接缓存整个HTML输出内容,适用于静态化程度高的页面。
浏览器缓存:通过HTTP头控制客户端缓存策略,减少重复请求。
| 缓存方案 | 存储位置 | 持久性 | 典型用途 |
|---|---|---|---|
| OPcache | 服务器内存 | 进程级,重启失效 | PHP脚本编译优化 |
| Redis | 内存(可持久化) | 支持持久化 | 会话存储、数据缓存 |
| Memcached | 内存 | 无持久化 | 高速对象缓存 |
4、针对 WordPress,可以加入这些专属优化配置:
[opcache] opcache.enable=1 opcache.memory_consumption=256 ; WordPress 建议 ≥128MB opcache.max_accelerated_files=10000 ; 覆盖 WordPress 核心 + 插件文件数 opcache.interned_strings_buffer=16 ; WordPress 大量重复字符串(如钩子名) opcache.validate_timestamps=0 ; 生产环境关闭自动检查 opcache.revalidate_freq=0 ; 与 validate_timestamps=0 配合 opcache.save_comments=1 ; WordPress 依赖注释(如钩子文档) opcache.enable_file_override=1 ; 覆盖 include/require 优化 opcache.file_update_protection=3 ; 更新保护时间,防止频繁重载
延伸阅读:Mysql数据库也可使用Redis Object Cache插件来做缓存数据
WordPress找到插件,下载 Redis Object Cache 地址:https://cn.wordpress.org/plugins/redis-cache/
WordPress 最耗资源的是反复查数据库。
用Redis + Redis Object Cache 插件,把高频查询结果(如首页、分类页)缓存到内存。
注意:
- Redis 内存设为 80M ,缓存重要热点数据
- 设置合理过期时间
- 避免缓存大对象(如整站菜单树)
启用后,MySQL CPU 占用从 40% 降到 10%。
延伸阅读:关于Wordpress其他建议
服务器跑的稳又快,核心逻辑就一条:让服务器少干活。
静态内容 → Nginx 直接返回
动态结果 → Redis 或 OPcache 响应
数据库 → 只服务必要写操作
垃圾流量 → 在入口就被拦截
WP Super Cache 静态化
对匿名用户(包括搜索引擎蜘蛛),直接返回预生成的 HTML 文件。
Nginx 直接读磁盘,PHP 和数据库彻底休息。
关键设置:
启用“简单模式”(兼容性最好)
缓存过期时间设为不限制
这一步,扛住了 80% 的爬虫流量。
WAF 防火墙 + 屏蔽垃圾流量
宝塔自带的免费 Nginx 防火墙,我开了:
拦截 SQL 注入、XSS 攻击
自动拉黑暴力破解 IP
屏蔽垃圾蜘蛛 UA(如 SemrushBot、AhrefsBot)
这些爬虫不带来真实流量,只消耗资源。直接 403 拒绝。每天减少 20000+ 无效请求。
Nginx 访问限频,防刷防采集
在站点配置中加限流规则:
limit_req_zone $binary_remote_addr zone=perip:10m rate=5r/m;
对搜索页、标签页等高负载页面,限制同一 IP 每分钟最多访问 5 次。
超限返回 503,既不影响正常用户,又有效遏制采集脚本。
安全加固,减少攻击面
用插件(如 WPS Hide Login)隐藏 wp-login.php 地址
关闭 XML-RPC(不用时)
图片统一压缩为 WebP,尺寸按需加载(避免 1MB+ 大图拖慢页面)
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
支付宝赞助
微信赞助



