欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

用BT宝塔面板自己搭建cdn加速缓存搭配规则教程

linux sky995 4年前 (2020-09-08) 6575次浏览 0个评论

本文及资源最后更新时间 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。

用BT宝塔面板自己搭建cdn加速缓存搭配规则教程

3、站点设置

打开站点——点击网站设置——弹出框找到左边反向代理——打开设置如图:

首先开启代理,开启缓存。

然后将缓存时间设置一下,这里推荐180分钟,也就是3个小时。

目标URL,前后两个网址是源站A的网址,大体内容是一样的。唯一的区别是,在前面那个框里面,需要添加上https://或者是http://

下面的内容替换可以暂时不用管。

填写完毕后,点击下方的提交即可。

用BT宝塔面板自己搭建cdn加速缓存搭配规则教程

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,点右侧的“设置”->“重载配置”即可。

用BT宝塔面板自己搭建cdn加速缓存搭配规则教程

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服务器加速教程。


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用BT宝塔面板自己搭建cdn加速缓存搭配规则教程
喜欢 (33)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址