折腾户更换域名了,新域名为www.irryy.com!!!

利用七牛云加快静态媒体文件加载速度-让网页打开更快

wp教程 BLACK 1404℃ 0评论 |百度已收录|好搜已收录

折腾户BLACK在前几天介绍了如何通过瀑布流查找网页打开慢的原因,相信很多朋友在分析瀑布流的时候已经发现了,哇!一个网页中竟然有这么多的文件。

是的,就是这个多文件,一个页面中的文件几十个几百个太常见了,每一个图片,每一个js、css都是一个单独的文件。对于不需要连接数据库,可以直接通过地址就可以获取到的文件,我们可以称为静态文件,主要有js、css、图片视频等,并且这些文件相对于其它内容来讲,体积较大,传输较慢,于是我们便可以通过加速这些静态文件的方法来解决网页打开慢的问题。

这是折腾户BLACK为大家整理的国内常用的CDN库,如果库里面有您需要的jq库等,那么毫不犹豫将你本地的改成托管的吧,大公司机房速度肯定比你主机快上那么一点点,而且因为很多网站都在使用公共的,一般浏览器里面都有缓存,还可以直接使用,这就更快了,具体参见:

【收集】国内常用开放静态文件CDN服务

对于折腾户BLACK,我将js、css等静态文件做了分离,单独使用一个二级域名,同时也将图片视频等媒体文件做了分离,单独使用一个二级域名,托管到七牛云。方法如下:

图片视频等媒体文件使用二级域名及单独保存路径

因为新版的wp后台中已经阉割掉了定义上传路径的选项,但是在opinion.php这个文件里面还有,地址为http://你的网站域名/wp-admin/options.php,(修改了wp-admin文件夹的替换成自己设置的文件夹名称)这个设置文件包括了wp中很多很多的设置,如果是对wp熟练的话建议在这个里面找到相关 选项去修改。其中upload_path即为上传路径,upload_url_path即为文件地址。

而我对这个路径因为一些原因需要经常修改的,所以我把这个选项又加入到了后台选项中,具体代码如下。

if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) {
  update_option('upload_path',WP_CONTENT_DIR.'/uploads');
}

当然将这段代码添加到functions.php最后面即可。效果如下。。

设置路径:设置——多媒体。

图片视频媒体文件设置二级域名

你只需要填写你想要放附件的路径(有完全的读写权限)而想要的二级域名地址即可。

 

图片视频等媒体文件托管到七牛云

这个可以使用我爱水煮鱼大神提供的七牛云插件,具体教程在这里了:

http://blog.wpjam.com/2014/03/19/wpjam-qiniutek-1-0/

 

Js、css等静态文件使用二级域名

我爱水煮鱼的插件如果想要使用二级域名的话,只能使用一个,于是折腾户BLACK又修改function.php单独增加一段代码,实现对静态文件的cdn托管功能。

define('FocusCDNHost','http://www.123.com');//wordpress网站网址
define('FocusCDNRemote','http://0.123.com');//cdn域名
define('FocusCDNIncludes','wp-content,wp-includes');//设置加速目录
define('FocusCDNExcludes','.php|.xml|.html|.po|.mo');//设置文件白名单
define('FocusCDNRelative','');//Check this if you want to have links like <wp-content/abc.png> rewritten - i.e. without your blog's domain as prefix.
  
function do_cdnrewrite_ob_start() {
$rewriter = new FocusCDNRewriteWordpress();
$rewriter->register_as_output_buffer();
}
add_action('template_redirect', 'do_cdnrewrite_ob_start');
  
class FocusCDNRewriteWordpress extends FocusCDNRewrite
{
function __construct() {
$excl_tmp = FocusCDNExcludes;
$excludes = array_map('trim', explode('|', $excl_tmp));
  
parent::__construct(
FocusCDNHost,
FocusCDNRemote,
FocusCDNIncludes,
$excludes,
!!FocusCDNRelative
);
}
public function register_as_output_buffer() {
if ($this->blog_url != FocusCDNRemote) {
ob_start(array(&$this, 'rewrite'));
}
}
  
}
  
class FocusCDNRewrite {
var $blog_url    = null;
var $cdn_url     = null;
var $include_dirs   = null;
var $excludes    = array();
var $rootrelative   = false;
  
function __construct($blog_url, $cdn_url, $include_dirs, array $excludes, $root_relative) {
$this->blog_url   = $blog_url;
$this->cdn_url    = $cdn_url;
$this->include_dirs  = $include_dirs;
$this->excludes   = $excludes;
$this->rootrelative  = $root_relative;
}
  
protected function exclude_single(&$match) {
foreach ($this->excludes as $badword) {
if (stristr($match, $badword) != false) {
return true;
}
}
return false;
}
  
protected function rewrite_single(&$match) {
if ($this->exclude_single($match[0])) {
return $match[0];
} else {
if (!$this->rootrelative || strstr($match[0], $this->blog_url)) {
return str_replace($this->blog_url, $this->cdn_url, $match[0]);
} else {
return $this->cdn_url . $match[0];
}
}
}
  
protected function include_dirs_to_pattern() {
$input = explode(',', $this->include_dirs);
if ($this->include_dirs == '' || count($input) < 1) { return 'wp\-content|wp\-includes'; } else { return implode('|', array_map('quotemeta', array_map('trim', $input))); } }    public function rewrite(&$content) { $dirs = $this->include_dirs_to_pattern();
$regex = '#(?<=[(\"\'])'; $regex .= $this->rootrelative
? ('(?:'.quotemeta($this->blog_url).')?')
: quotemeta($this->blog_url);
$regex .= '/(?:((?:'.$dirs.')[^\"\')]+)|([^/\"\']+\.[^/\"\')]+))(?=[\"\')])#';
return preg_replace_callback($regex, array(&$this, 'rewrite_single'), $content);
}
  
}

 

 如果您只需要一个二级域名,那么两种方法任选其一,如果需要两个二级域名,那么便两个都使用。两种方法的七牛云后台设置,都参见我爱水煮鱼的教程!

如此一来,你会发现你的网站打开速度完全快了好几个档次!

转载请注明:折腾户 » 利用七牛云加快静态媒体文件加载速度-让网页打开更快

喜欢 (1)
  1. 我的世界党的留言:杨越,你找只苦力怕炸一下试试,(Steve:我变成了女孩和Steve变妹记里都是Steve被苦力怕炸成了妹子,在Steve:我变成了女孩中,又炸了回去)