WordPress提速 利用LayerLocalCDN搭建本地化CDN加速服务器

导语:看了一些网上的文章,发现大家对如何利用LayerLocalCDN来搭建本地化存在一些迷惑,那么这篇文章就来介绍一下如何利用LayerLocalCDN来搭建本地化CDN,为自己的WordPress站点提速。

下载LayerLocalCDN

首先当然是下载LayerLocalCDN,大家可以到这里来下载。

上传LayerLocalCDN

大家应该都知道CDN的原理,就是将主站的静态资源缓存到缓存站点,利用缓存站点较好的网络速度来让用户获得浏览体验。这种情况比较适合主站在海外,但用户群在国内的情况。这时候,我们可以在国内搭建CDN缓存服务器,把海外主站的资源取到国内的缓存服务器上。这样的话,网页打开的速度就能明显的加快。

下载完LayerLocalCDN,就将压缩包上传到你准备好的缓存服务器上解压,然后打开config.sample.inc.php:

//Layer CDN 设定
/**********基本设定**********/
define('STATIC_URL','http://www.baidu.com/');	//源站URL
define('DOMAIN','cdn');	//使用云存储时,填写存储空间的名字;使用本地存储时,填写存储的相对路径。
define('WELCOME_DOC',TRUE);	//空请求时是否显示欢迎界面
	
/*********防盗链设定*********/
define('ALLOW_REGX','.*');	//设置防盗链允许的[域名]正则表达式,此表达式只匹配referer的域名部分
//define('ALLOW_REGX','^(best33\.com|.*\.best33\.com|)$');	//允许best33.com,*.best33.com,浏览器直接访问
//define('ALLOW_REGX','^(best33\.com|.*\.best33\.com)$');	//允许best33.com,*.best33.com,不允许浏览器直接访问
//define('ALLOW_REGX','^(.*)$');	//允许任意,允许浏览器访问
//define('ALLOW_REGX','^(.+)$');	//允许任意,但不允许浏览器访问
	
/**********进阶设定**********/
define('PURGE_KEY','purge');	//刷新缓存的密码,访问http://domain/PURGE_KEY/path/to/file来刷新缓存。
define('MIME','text/html');	//默认MIME类型,可以设为application/octet-stream则对未知项目自动弹出下载。
define('DIRECT_EXT','php|asp|htm|html');	//不进入缓存的扩展名,安全起见不要删除PHP。
define('NO_LOCATE',true);	//设置后将不进行跳转而采用read读取方式,可能会降低速度并增加流量。仅当遇到问题时启用。
define('NO_KEY',true);	//启用后将不再使用一串md5编码的key作为文件名,当想保持文件名一致时启用之。
define('NO_SECOND_FLODER',true);	//启用后将不再使用两层文件夹存储缓存,仅在本地环境、NO_KEY为假时有效。
define('STATIC_HOST','');	//可以留空,也可以在这里填写你的源站域名,而在STATIC_URL中填写IP,减少域名解析的时间。
	
/**********高级设定**********/
define('RUN_ENV', 'LOCAL');	//自定义运行环境(如不去掉前面的//则自动判断)可选:BAE/SAE/GCS/LOCAL 请大写
//define('CS_AK','dummy');	//自定义云存储空间的Access Token,通常不需要
//define('CS_SK','dummy');	//自定义云存储空间的Secret Token,通常不需要
WordPress提速 利用LayerLocalCDN搭建本地化CDN加速服务器
WordPressLeaf.com

基本上,按照这样的设置就可以了。我看有些同学的疑问主要集中在define(‘DOMAIN’,’cdn’)这里,不知道怎么设置才好。其实这里你随便填一个名字就好,填了,它就会自动在你的index.php的同级目录下生成这个名字的目录,里面会存放从你的主站取过来的文件。比如,现在填的是“cdn”,那么它就会自动在你的缓存服务器上生成这个叫“cdn”的目录。另外,你上传文件的目录权限,最好有读写权限,因为要往里面缓存写数据的。

主站的设置

现在,缓存服务器就设置好了,那么现在进行主站的设置。在主站只要将静态资源的URL域名替换成缓存站的就可以了,这样打开网页的时候,LayerLocalCDN就自动将主站的资源取到缓存服务器,然后在下发给用户。

以WordPress为例,只要在functions.php放置以下代码就好:

////自建cdn
if ( !is_admin() ) {
	add_action('wp_loaded','leaf_ob_start');
	
	function leaf_ob_start() {
		ob_start('leaf_cdn_replace');
	}
function leaf_cdn_replace($html){
	$local_host = 'http://www.baidu.com'; //博客域名
	$leaf_host = 'http://img.baidu.com'; //缓存服务域名
	$cdn_exts   = 'js|css|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
	$cdn_dirs   = 'wp-content|wp-includes'; //目录(使用|分隔)
        $cdn_dirs   = str_replace('-', '\-', $cdn_dirs);
        if ($cdn_dirs) {
		$regex	=  '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
		$html =  preg_replace($regex, $leaf_host . '/$1$4', $html);
	} else {
		$regex	= '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
		$html =  preg_replace($regex, $leaf_host . '/$1$3', $html);
	}
	return $html;
}
}

将域名改为自己的域名就好。

结束

是不是很简单,大家都学会了没?其实你也可以去寻找免费的CDN来使用的,如果你一定要自己来搭建CDN,我相信LayerLocalCDN是一个很好的选择。

目前在“WordPress提速 利用LayerLocalCDN搭建本地化CDN加速服务器”上有4条评论

黑暗游侠进行回复 取消回复

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