关于如何服务器自建cdn加速的教程无作为以前分享过,这里分享下最新的宝塔面板如何开启cdn加速,配置缓存规则和清理教程。
最新版的宝塔面板搭建cdn教程如下:
一共两个或者多个ip,这里大家区分一下
源站点ip:a.a.a.a(网站文件存放的服务器)
宝塔面板ip:b.b.b.b(用来搭建cdn的服务器)
1、安装宝塔面板——安装服务器环境——添加站点——安装插件:HOST 修改工具
2、添加hosts:打开已经安装的“HOST 修改工具”插件,填写域名和源站点的IP:a.a.a.a。
打开站点——点击网站设置——弹出框找到左边反向代理——打开设置如图:
首先开启代理,开启缓存。
然后将缓存时间设置一下,这里推荐180分钟,也就是3个小时。
目标URL,前后两个网址是源站A的网址,大体内容是一样的。唯一的区别是,在前面那个框里面,需要添加上https://或者是http://
下面的内容替换可以暂时不用管。
填写完毕后,点击下方的提交即可。
点击保存如果报错:
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
问题在于一开始没有添加hosts或者开启了面板防火墙,根据教程提前添加或者关闭面板防火墙,保存在开启即可。
设置完之后我们需要重载nginx配置,在宝塔面板“软件管理”处找到nginx,点右侧的“设置”->“重载配置”即可。
如果网站开启了ssl,代理加速的服务器站点也要设置。
如果源站启用了HTTPS协议,那么镜像站点也需要部署HTTPS证书,我们可以在上面面板中“SSL”处免费部署证书。不然会有502的错误,我们这里配置的域名和主站点是一样的。
域名解析到IP:b.b.b.b即可。
官方帮助页面,包括了缓存配置在里面:https://www.bt.cn/bbs/thread-18019-1-1.html
清理缓存指令:
https://你的域名/purge/页面
例如,清理本页文章缓存:https://www.w168.net/purge/17457.html直接浏览器输入即可清理缓存。
对于Wordpress博客,如果启用CDN后页面被缓存,用户提交评论后无法马上显示出来,可以使用Ajax异步请求ngx_cache_purge接口(Bt(宝塔面板)默认已经安装好了ngx_cache_purge模块)当用户提交评论的时候则清除该页面缓存。只需要下面的这段js添加到footer.php即可。不过一般现在的主题都支持Aja异步刷新。所以这段代码不一定需要。
<script>
$(document).ready(function(){
$("#submit").click(function(){
var uri = "https://域名/purge" + window.location.pathname;
$.get(uri,function(data,status){
return true;
});
});
});</script>
宝塔里面也有提示:可通过purge清理指定URL的缓存,示例:http://test.com/purge/test.png
如果是Wordpress用户,当你启用了Nginx CDN加速后,你会发现WP后台获取到的用户评论IP都变成了CDN节点的,解决这个问题也很简单,只需要将下面一段代码加入到wp-config.php文件中即可:
if (isset($_SERVER['HTTP_X_REAL_IP'])) {$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_REAL_IP'];}
最后ping一下自己的网站是不是生效了。
用来搭建的服务器可以购买高防御的美国主机,选择好一点的线路即可,既可以用来做盾机也可以加速缓存。
有的人会说:我主机在国内,用国外主机做cdn盾机加速会不会慢。
我们有钱当然可以选国内高防主机搭建cdn,但是费用确实不少,也很浪费,用来做cdn第一防御,第二影藏真实服务器IP,第三加速。
我们也可以选择国外的,Linode,Vultr,搬瓦工都可以选择,线路上,我们可以选择CN2 GIA的线路,这个线路是三网直连国内,速度非常不错。
国外vps的优点就是不用北岸,机器性能好,带宽充足,如果选择CN2 GIA线路那么无作为认为基本和国内的机器打开速度上已经非常接近了。
如果要做到秒开还是要做优化的