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