php 静态 动态 cdn 加速,一次鸡肋(能用CDN代替)的DUX主题静态文件优化加速的日志...
为了让博客能更快的访问,体验度更好,缙哥哥绞尽脑汁(大)、想方设法(穷)、竭尽全力(逼)去优化加速。由于缙哥哥想把服务器性能尽可能的使用出来(太抠不愿意花钱升级服务器),又不想花钱买CDN服务,所以就有了今天这个DUX主题静态文件优化加速的骚操作,本次优化感谢代码狗的帮助以及耐心的解答。
DUX主题静态文件加速
缙哥哥先把DUX主题的静态文件(JS、CSS、fonts、img四个文件夹)放到对象存储并提供加速的二级域名下,并且文件目录要跟DUX主题一致,如:cdn.dujin.org
DUX主题JS文件加速
在DUX主题的文件夹中,找到/js/loader.js文件进行编辑,在39行处(版本不同可能有所不同)找到tbquire.config({
baseUrl: jsui.uri + '/js',
urlArgs: 'ver=' + jsui.ver,
paths: {
'jquery.cookie' : 'libs/jquery.cookie.min',
'jsrender' : 'libs/jsrender.min',
'router' : 'libs/router.min',
'lazyload' : 'libs/lazyload.min',
'prettyprint' : 'libs/prettyprint',
'ias' : 'libs/ias.min',
'hammer' : 'libs/hammer.min',
'main' : 'main',
'comment' : 'comment',
'user' : 'user'
}
})
将其中的baseUrl一处进行修改:baseUrl: jsui.uri + '/js',
替换成你对应已加速的域名baseUrl: '//img.dujin.org/dux/js',
在DUX主题的文件夹中,找到functions-theme.php文件进行编辑,在364行处(版本不同可能有所不同)找到:$jss = array(
'no' => array(
'jquery' => $purl.'/js/libs/jquery.min.js',
'bootstrap' => $purl . '/js/libs/bootstrap.min.js'
),
'baidu' => array(
'jquery' => '//apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js',
'bootstrap' => '//apps.bdimg.com/libs/bootstrap/3.2.0/js/bootstrap.min.js'
),
'360' => array(
'jquery' => $purl.'/js/libs/jquery.min.js',
'bootstrap' => $purl . '/js/libs/bootstrap.min.js'
),
'he' => array(
'jquery' => '//code.jquery.com/jquery-1.9.1.min.js',
'bootstrap' => '//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'
)
);
wp_register_script( 'jquery', _hui('js_outlink') ? $jss[_hui('js_outlink')]['jquery'] : $purl.'/js/libs/jquery.min.js', false, THEME_VERSION, (_hui('jquery_bom')?true:false) );
wp_enqueue_script( 'bootstrap', _hui('js_outlink') ? $jss[_hui('js_outlink')]['bootstrap'] : $purl . '/js/libs/bootstrap.min.js', array('jquery'), THEME_VERSION, true );
_jsloader(array('loader'));
// wp_enqueue_script( '_main', $purl . '/js/main.js', array(), THEME_VERSION, true );
将$purl.删除,并在后面的单引号中补全自己的加速地址,由于最后一行已经被浩子哥注释了,咱不管他。将_jsloader(array('loader'));
注释掉(前面加//),并在其下方添加以下代码:wp_enqueue_script( 'loader', '//img.dujin.org/dux/js/loader.js', array(), THEME_VERSION, true );
其中no、baidu、360、he分别是主题设置中JS文件托管(可大幅提速JS加载)设置,由于360因为改动地址,所以浩子哥已经取消了360选项。
至此,你的主题的所有js文件就已经缓存加速了。
DUX主题CSS文件加速
在DUX主题的文件夹中,找到functions-theme.php文件进行编辑,在355行处(版本不同可能有所不同)找到// common css
_cssloader(array('bootstrap' => $purl.'/css/bootstrap.min.css', 'fontawesome' => $purl.'/css/font-awesome.min.css', 'main' => 'main'));
// page css
if (is_page_template('pages/user.php')) {
_cssloader(array('user' => 'user'));
}
同理,将$purl.删除,并在后面的单引号中补全自己的加速地址,以缙哥哥为例,修改为:// common css
_cssloader(array('bootstrap' => '//img.dujin.org/dux/css/bootstrap.min.css', 'fontawesome' =>'//img.dujin.org/dux/css/font-awesome.min.css', 'main' => '//img.dujin.org/dux/css/main.css'));
// page css
if (is_page_template('pages/user.php')) {
_cssloader(array('user' => '//img.dujin.org/dux/css/user.css'));
}
至此,你的主题的所有css文件就已经缓存加速了。
文本编辑/dux/css/font-awesome.min.css文件,将其所有的url(../fonts/改为自己已加速的绝对地址。
至此,你的主题的所有fonts文件就已经缓存加速了。
DUX主题img文件加速
删除get_stylesheet_directory_uri() .,并在后方补全加速地址。
默认表情加速add_filter('smilies_src', '_smilies_src', 1, 10);
function _smilies_src($img_src, $img, $siteurl) {
return get_stylesheet_directory_uri() . '/img/smilies/' . $img;
}
默认头像加速function _get_default_avatar(){
return get_stylesheet_directory_uri() . '/img/avatar-default.png';
}
默认特色图片加速if( $r_src ){
if( _hui('thumbnail_src') ){
return sprintf('', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'), get_stylesheet_directory_uri().'/img/thumbnail.png');
}else{
return sprintf('', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'));
}
}else{
return sprintf('', get_stylesheet_directory_uri().'/img/thumbnail.png');
}
}
至此,你的主题出现最多的图片文件就已经缓存加速了。更多的图片分离加速,可参考:
php 静态 动态 cdn 加速,一次鸡肋(能用CDN代替)的DUX主题静态文件优化加速的日志...相关推荐
- php 静态 动态 cdn 加速,CDN静态加速跟动态加速的区别,动态加速好还是静态加速好?...
CDN做为内容分发技术,其核心原理就是将内容缓存到离用户最近的节点上,实现内容分发加速,这里内容主要分为两种,一种是静态内容,一种是动态内容.首先,对静态资源,CDN的加速效果是最好的,因为文件本身没 ...
- 那些可以加速国内外开源库的免费CDN
前段时间更改网站需要加载Google Fonts字体文件.虽然Google Fonts在国内有服务器但是加载速度还是不太理想.时不时抽风...自己也懒得将所有字体文件下载放到服务器中.所以想到了可不可 ...
- axios 注册拦截器 cdn引用_PicGo+jsDelivr+GitHub搭建免费cdn加速的图床
PicGo+jsDelivr+GitHub搭建免费cdn加速图床.下面是我写的教程. https://www.sakura521.cn/2020/03/13/picgocdn.htmlwww.sak ...
- Java反射-静态/动态加载类
title: Java反射-静态/动态加载类 date: 2019-05-28 18:50:00Java反射-静态/动态加载类 Class 类是对象,是java.lang.Class类的实例对象.任何 ...
- 学习笔记:可持久化线段树(主席树):静态 + 动态
学习笔记:可持久化线段树(主席树):静态 + 动态 前置知识: 线段树.线段树分享可以看:@秦淮岸.@ZYzzz.@妄想の岚がそこに 树状数组.\(BIT\)分享可以看:@T-Sherlock.Chi ...
- 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法
使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...
- k8s——pv(静态+动态storageclass)与pvc
k8s--pv(静态+动态storageclass)与pvc PVC和PV PV概念 PVC概念 PV与PVC之间的关系 两种PV的提供方式 基于nfs创建静态PV资源和PVC资源 配置nfs存储(1 ...
- JavaEE(10)Spring中的注解开发、静态/动态代理
1. 使用注解开发 1. 说明 (1)在Spring4之后,想要使用注解的形式,必须先引入aop包 (2)在配置文件中,引入context约束 <?xml version="1.0&q ...
- 深度学习AI美颜系列----人像静态/动态贴纸特效算法实现
人像静态/动态贴纸特效几乎已经是所有图像视频处理类/直播类app的必需品了,这个功能看起来复杂,实际上很简单,本文将给大家做个详细的讲解. 我们先来看一下FaceU的两张效果图: 这两张效果图中, 我 ...
最新文章
- sudo提升执行权限
- Spring Boot 应用迁移到 Java 11
- RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have
- 树莓派也跑Docker和.NET Core
- 移动端设置html的字体尺寸,移动端开发元素及字体尺寸适配基础知识
- java 垂直走马灯多行,Android实现图文垂直跑马灯效果
- CSS 让数字滑动显示
- LeetCode:递增的三元子序列【334】
- C# ASP.NET 权限设计 完全支持多数据库多语言包的通用权限管理系统组件源码
- 22 省遭受重大洪灾,机器学习未来能预报么?
- 2021年前端还好找工作吗?
- 如何在SQL Server 2017中实现图形数据库
- CSS块元素与内联元素(转)
- KEIL C51出现 runtime error R6002 floating point support not loaded解决办法
- PCR概述及前沿技术
- C语言循环结构作业总结
- 关于‘\0’ ,‘0’, “0” ,0的理解
- 在输入框加入搜索图标的问题
- Ubuntu使用自带的Liboffice Draw去除PDF水印
- matlab之plot、fplot、ezplot函数