六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 712|回复: 0

使用SAE分发WordPress主题静态文件-it论坛

[复制链接]
 楼主| 发表于 2013-12-20 19:38:40 | 显示全部楼层 |阅读模式
使用SAE分发WordPress主题静态文件-it论坛
IMUNC 2012已经结束,慢慢开始整理MPC运行的经验,之前写过一片《在Sina App Engine上架设图片CDN》,这次仍旧是在SAE上做文章。
由于网站在日本,而IMUNC期间访问量全部集中在北大(400个人同时在线),而联通的PING值一直出奇的高——没下过800ms,因此如果让所有人从主服务器下载主题的CSS、JS和图片文件,势必会将网速托跨,在这里使用的办法就是用SAE分发主题文件。
方法的这样的,用SVN或是SAE的SDK建立1/wp-content/themes/文件夹,并且将主题包全部上传到这个文件夹下(PHP文件可以不上传)。
在主服务器的主题包的functions.php中增加如下代码:
  1. define( 'THEME_CDN', 'http://SAE应用域名.sinaapp.com/wp-content/themes/主题名' ); //注意主题名后面没有斜杠
  2. function get_theme_cdn_directory_uri()
  3. {
  4.     return THEME_CDN;
  5. }
复制代码
然后在主题文件中找到要使用Sina App Engine加速的静态文件,将其中的get_template_directory_uri()替换为get_theme_cdn_directory_uri(),例如:
  1. <script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/functions.js"></script>
复制代码
替换为:
  1. <script type="text/javascript" src="<?php echo get_theme_cdn_directory_uri(); ?>/js/functions.js"></script>
复制代码
这个步骤需要替换大量的代码,建议使用IDE的搜索功能,另外在替换过程中要避免替换PHP文件前的get_template_directory_uri()(不过在PHP文件前写入get_template_directory_uri()本身就不符合规范)。
这个脚本虽然有些麻烦,但对一些大流量的Wordpress站点还是有帮助的,在IMUNC会议三天里,SAE大约分担了45万次请求,有图:
7月31日一天大约有16万次请求

另外,由于SAE的机房就在首都,而IMUNC在北大举行,所以访问速度有巨大提高,大部分时间里网站基本能保持秒开,大大分担了位于日本的主服务器的流量压力。
摘自:http://www.kaijia.me/2012/08/use ... theme-static-files/





该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表