WordPress网站速度变慢怎么办?很多人的做法就是提高服务器的配置,或者是找一个缓存插件。其实做这些是往往不够的,有些时候服务器的配置固然重要,但是如果能做到网站自身和服务器的优化,其实没有必要过早的提高服务器配置。比如我们完全可以在1G1M的服务器配置中跑赢几千IP的网站。
在静态内容和图片上,我们可以将图片静态分离出去,用到WPCOS、WPOSS等插件与第三方对象存储实现静态的分离。其次就是程序端,我们不要选择过分复杂主题和插件,尽量的精简。再者就是用WordPress缓存插件,这里我比较喜欢用的是WP Super Cache。
在这篇文章中,我就来整理利用WP Super Cache插件,以及在服务器端配合Memcached缓存机制实现WordPress网站加速。
第一、WP Super Cache 插件安装
WP Super Cache 插件安装很简单,直接在后端搜索下载,或者直接在这里下载。
这款插件是有免费和付费版本的,对于一般用途来说差异不是太大。比如免费版本不支持对象缓存,这里我们后面用Memcached插件替代即可。
WP Super Cache 插件有支持简体中文,根据提示启动缓存即可。其他默认的可以不设置,也可以根据需要设置。
比如我需要开启页面压缩,这里需要确保我们已经安装GZIP组件。如果我们安装的是服务器套件的,都会默认安装。
我们也可以接入第三方CDN缓存静态页面加速,这里前面我提到的是建议用静态分离图片或者上传附件到对象存储,这样效果更好一些。如果预算充足,网站还可以套用全站CDN。
这样,WP Super Cache 插件激活安装完毕。可以看看加速效果。
记住这个信息,等会再比较。
第二、部署Memcached对象缓存
提到Memcached,我们肯定会有看到过Redis。两者都是对象缓存,对于两者的区别我们可以阅读相关文章,我个人的理解是大部分网站用Memcached的,对于比较复杂的项目用 Redis比较多。所以,这里网站我们用Memcached。
目前,我测试的WEB环境是用的 OneinStack 一键包。PHP8.2、Nginx、MySQL5.5。
我开始在配置服务器的时候是默认的选择PHP扩展 4 11 12,有包括 Memcached,但是在安装 object-cache.php 缓存插件的时候无法成功,有提示错误。
那就是说明还需要安装Memcache。但是,Oneinstack默认支持的Memcache是支持PHP7.0及之前版本的。我也反馈给Oneinstack开发者希望后续有支持。这里,我们可以先手动来解决这个问题。
下载的文件放到 /root/oneinstack/src
目录中。
- 修改pecl_memcache_ver参数。在
/root/oneinstack
跟目录下versions.txt
文件。
将pecl_memcache_ver后面的参数修改成8.0。然后执行命令:/root/oneinstack/install.sh --php_extensions memcache
。
完成安装Memcache。
下面我们就需要部署 Memcached插件。
这里我们找到大家常用的 Memcached Object Cache 插件。下载到本地,可以看到有 object-cache.php 文件。将这个文件丢到 wp-content 目录下,不是插件的目录。
丢进去还不够,还需要修改下配置文件。
将 wp-config.php 配置文件中检查是否有几个代码。
1、启动缓存
define('WP_CACHE', true);
这个一般是有的,因为我们前面开启 Super Cache插件的会自动安装。
2、添加缓存KEY
define( 'WP_CACHE_KEY_SALT', '...long random string...' );
这里"...long random string..."可以替换我们的任意字符。
define( 'WP_CACHE_KEY_SALT', 'lezaiyun.com' );
这样,我们再看看缓存效果。确实比之前还要加速更好一些,这里我是默认的WP空页面主题,数值变化不太大,如果是页面丰富的内容,加速效果还是明显的。
总结,这篇文章中我们详细且真实的实战在WordPress网站环境中用WP Super Cache和Memcached加速网站和服务器,确实起到不错的效果。
评论