空间在国外,域名没有BA号,想要加快网站的访问速度,一个方法就是使用香港或者日本机房的服务器,国内访问这两个地方的空间相对于美国来说还是挺快的,要是愿意花钱购买更稳定的带宽和线路,网站访问的速度还是有可能赶上上国内的主机速度。
另一个方法就是给网站使用CDN加速,国外有很多的免费CDN服务,可惜CDN加速效果并不好,甚至还有可能让网站速度变得更慢。虽然国内近年来也出现了360 CDN、百度CDN、加速乐等免费的CDN服务,不过可惜的是只有BA号的网站才能正常使用CDN。
一个折衷的办法就是不给网站做全站CDN加速,而是给网站的JS、CSS、图片、论坛附件等静态文件进行CDN加速。实际测试结果显示,这样做CDN加速效果还是有的,尤其是对于一些图片和附件比较多的网站,加速访问的效果还是很明显的。
之前部落已经分享过了Wordpress使用七牛、又拍免费CDN进行加速的方法,本篇文章就来分享一下Discuz论坛使用七牛、又拍、阿里云OSS 免费CDN加速方法。
一、申请和开通七牛CDN
1、进入到七牛CDN管理后台,新建一个空间。
2、然后在镜像存储中设置好镜像源。
3、在账号管理中可以看到密钥Access和SecretKey。
二、Discuz论坛使用七牛CDN加速JS、CSS、图片等静态文件
1、进入到管理中心->全局->上传设置的基本设置,本地附件URL地址填写你七牛相关空间的http://域名+/data/attachment。
2、然后进入到Discuz论坛的“全局”-“服务器优化”。
3、在JS文件URL和CSS文件URL选择“自定义URL”,URL上填写你七牛相关空间的http://域名+/static/js/,如果你的JS和CSS文件放在别的子目录中,可以参照路径进行修改。
4、更新Discuz论坛缓存,打开Discuz论坛,这时就能看到JS、CSS等静态文件已经替换成了七牛的CDN地址了。
5、原来Discuz论坛上的图片等都已经变成了七牛的连接了。
三、Discuz论坛使用七牛、又拍、阿里云OSS存储并加速附件
1、上面我们通过建立七牛镜像空间实现了Discuz论坛JS、CSS、图片等无缝CDN加速,可能有的朋友想要把论坛的附件存放在七牛、又拍、阿里云OSS并实现加速。
2、先要下载:DISCUZ X3扩展框架DXEXTEND文件(适用于3.1和3.2)和DISCUZ X2.5/3/3.1云存储通用接口文件。
3、将DISCUZ X3扩展框架DXEXTEND解压缩并将其中的文件夹复制到discuz同路径下,替换同名文件。将DISCUZ X2.5/3/3.1云存储通用接口文件解压后,将其中的文件夹复制放在根目录中。
4、修改你的config/config_global.php文件,如果是想要使用七牛作为附件存储和加速,添加以下代码(注意将Access Key、Secret Key、attachurl、bucket替换成你自己的):
$_config['extend']['storage']['curstorage'] = 'qiniu'; $_config['extend']['storage']['qiniu']['accesskey'] = ''; $_config['extend']['storage']['qiniu']['secretkey'] = ''; $_config['extend']['storage']['qiniu']['attachurl'] = 'http://'; $_config['extend']['storage']['qiniu']['bucket'] = '';5、如果使用阿里云OSS作为附件存储和加速,代码如下:
$_config['extend']['storage']['curstorage'] = 'aliyun'; $_config['extend']['storage']['aliyun']['access_id'] = ''; $_config['extend']['storage']['aliyun']['access_key'] = ''; $_config['extend']['storage']['aliyun']['access_host'] = NULL; $_config['extend']['storage']['aliyun']['bucket'] = 'discuzbucket'; $_config['extend']['storage']['aliyun']['attachurl'] = 'http://discuzbucket.oss.aliyuncs.com';6、如果使用又拍作为附件存储和加速,代码如下:
$_config['extend']['storage']['curstorage'] = 'upyun'; $_config['extend']['storage']['upyun']['bucket'] = 'dztest'; $_config['extend']['storage']['upyun']['username'] = 'dzuser'; $_config['extend']['storage']['upyun']['password'] = 'discuz'; $_config['extend']['storage']['upyun']['attachurl'] = 'http://dztest.b0.upaiyun.com';7、添加代码完成后,接下来就是在discuz 管理中心->全局->上传设置->远程附件 中启用远程附件,并将 远程访问 URL 设置为 http://
8、修改完成后,你在discuz 论坛中上传的附件就会直接上传到七牛、又拍、阿里云OSS空间上了。
四、Discuz论坛不修改代码直接使用又拍FTP存储附件
1、又拍云和七牛一样也提供了镜像功能,在创建空间时选择此类空间,你就可以参考上面的七牛加速JS、CSS、图片等静态文件的方法了。
2、如果你在又拍创建的空间不是镜像CDN,那么你可以直接在Discuz论坛中使用又拍云的FTP远程上传功能。
3、这是Discuz论坛开启远程附件的设置方法。
五、Discuz论坛使用CDN加速小结
1、使用七牛和又拍云的镜像功能可以实现Discuz论坛的JS、CSS、图片等静态文件无缝迁移,避免了使用FTP将大量的文件重新上传到CDN服务器上的麻烦了,CDN加速效果还是很不错的。
2、如果你不是使用七牛和又拍云这样的镜像存储服务,而是直接将附件上传并存放在CDN服务器上,那么就要注意一个问题:附件没有存放在自己的服务器上,一旦CDN服务器挂掉了附件可能也没有了。