英文seo技术博客是交流学习英文网赚,国外网赚项目及各种黑帽白帽SEO方法的博客,提供seo培训

wordpress网站加速终极配置方法

凡是使用wordpress建站做国外网赚项目或者英文seo以及国内博客的朋友估计都和我一样对新版本的wordpress的速度都有很大意见。各种速度慢,前台慢了后台慢,也是各种搜索找解决办法,昨日我完全解决了这个问题。

禁用谷歌字体加速wordpress

首先影响wordpress访问速度的原因大家都知道,就是谷歌字体还有头像问题,这个问题使用Disable Google Fonts插件就可以解决了。安装插件后如果加载头像还有问题,浏览器左下角显示“正在等待0.gravatar.com”,那么我们可以

禁用wordpress gravatar使用本地头像提高网页打开速度

修改get_avatar函数,在wp-includes/pluggable.php内加入以下代码。修改后的函数如下:
if ( !function_exists( 'get_avatar' ) ) :

/**
* Retrieve the avatar for a user who provided a user ID or email address.
*
* @since 2.5
* @param int|string|object $id_or_email A user ID, email address, or comment object
* @param int $size Size of the avatar image
* @param string $default URL to a default image to use if no avatar is available
* @param string $alt Alternate text to use in image tag. Defaults to blank
* @return string tag for the user's avatar
*/
functionget_avatar($id_or_email,$size= '96',$default= '',$alt= false ) { if ( !get_option('show_avatars') ) return false; if ( false ===$alt)$safe_alt= ''; else$safe_alt=esc_attr($alt); if ( !is_numeric($size) )$size= '96';$default=includes_url('images/blank.gif');$avatar= ""; returnapply_filters('get_avatar',$avatar,$id_or_email,$size,$default,$alt); }endif;

修改后会加载本地头像或者一个错误图像,再配合simple local avatars或Add Local Avatar插件就可以自行上传你自己喜欢的头像来解决好看不好看的问题了。

解决mysql响应速度加速wordpress

近期网站转移到腾讯云备案,也在使用腾讯云的服务器,感觉比起阿里云要好用一些,另外在网络搜索的过程中发现有人提到硬盘的速度影响mysql的响应问题。于是我通过vps的硬盘速度测试代码测试,代码如下

dd if=/dev/zero of=test bs=64k count=512 oflag=dsync

发现阿里云的硬盘速度才8-10M,不知道是不是我的个案,而腾讯云在20-40M速度,安装使用后发现速度有适度提升,不过还是不满意,正好腾讯云的云数据库在做试用活动,6元使用6个月,于是买了测试,发现因mysql造成的网页响应问题确实得到了解决,不过还是感觉有问题。

同时我也找到一段代码,据说能提升硬盘响应速度到G级,但是测试后发现短时间是到了g/s,过会后又回到了几十M/s,总体来说有提升,但是没有吹的那么牛。代码如下

cd /dev/shm;dd if=/dev/zero of=test bs=64k count=512 oflag=dsync

所以如果不想使用云数据库,那么就用ssd硬盘的vps吧,再测试过程中发现如果硬盘速度有提高,那么网站的页面打开速度也会加快。

测试最好的lnmp一键安装包和php7环境

我之前一直比较推荐amh的后台一键安装包,因为是图形化的,但是经过近期的测试才发现图形界面终究还是比不过代码界面。而且amh趋向收费,老版本只能说能用,要用的好还是有不少问题。

最近大家一直在谈论hhvm和php7的环境,hhvm我测试过大约1个月,也算稳定,但是偶尔会出现小问题,并且对wordpress的部分插件支持不了,所以还是放弃了。php7虽然版本是beta3,鉴于php7马上要出rc1了,网上评价说对wordpress也有不错的支持,但是测试发现对wp的主题支持不好,我常用的主题都会出现能进入后台,但是无法显示前台页面的问题,最后还是回到了php5.6.12。

我最后选择的是https://blog.linuxeye.com/31.html的lnmp一键安装包,使用的lnmp组合,tengine2.1.0+php5.6.12+zendopcache+memcached+redis+jemalloc。具体安装和使用请看官方页面。

安装完成后恢复buddypress备份的wordpress数据库和使用帝国备份恢复数据库时出现了502错误,经过检查发现是tengine超时。

解决办法是修改/usr/local/php/etc/php-fpm.conf中的代码

request_terminate_timeout = 120

改为0s

就是0秒,那么就不会出现超时问题,但是这样修改后内存不会自动释放,所以数据库恢复完成后再修改回来。

以上全部完成后,发现wordpress的速度有不错的提升,之前测试博客首页打开需要大约10-15秒时间,现在只需要5-8秒,那么还有没有提升的空间呢?

wordpress启动Redis缓存加速

在使用上面的lnmp一键安装包过程中我们就已经安装好了redis,接下来我们配置使用:

首先如果你要使用redis,那么就关闭其他的wordpress加速插件。否则会有冲突。

你需要一个客户端开发包以便PHP可以连接到redis服务端这里我们推荐predis. 下载到WordPress的根目录,或者再wordpress目录根下执行以下代码:

wget http://uploads.staticjw.com/ji/jim/predis.php

chown www.www ./predis.php

前端缓存的PHP脚本,在WordPress的根目录,执行以下代码:

wget https://gist.githubusercontent.com/JimWestergren/3053250/raw/d9e279e31cbee4a1520f59108a4418ae396b2dde/index-with-redis.php

chown www.www ./index-with-redis.php

如果使用wget无法下载,那么可以在电脑上挂代理下载后修改好,再上传到wp的根目录。

index-with-redis.php修改如下:

$cf = 0;                        // set to 1 if you are using cloudflare

$debug = 1;                     // set to 1 if you wish to see execution time and cache actions

$display_powered_by_redis = 0;  // set to 1 if you want to display a powered by redis message with execution time, see below

将wordpress的index.php改名,然后将index-with-redis.php改成index.php

操作代码:

mv index.php index.php_bk #替换到原来的index.php,也可以改nginx伪静态规则

mv index-with-redis.php index.php

  • 登录后台网站url后面加上?c=y即可刷新整个网站
  • 可以在网站页面后面加上?r=y即可手工刷新
  • 提交评论会自动刷新页面
  • 刷新(f5)页面也可以刷新页面

操作完以上全部后,通过网站测速发现我所有网站打开速度都在1秒以内了,唯一就是下载速度有点慢,不过这是因为我只有1M带宽的原因了。

然后网站压力测试,3分钟并发50个完全通过没问题。之前使用阿里云+amh5.1的时候10个并发都还经常出错。希望本文能给你带来帮助。

  1. 猫客工作室说道:

    挺好的,欢迎一起交流

发表评论

电子邮件地址不会被公开。 必填项已用*标注