未备案域名CDN加速解决方案

  • 未备案域名CDN加速解决方案已关闭评论
  • A+
所属分类:网站

关于本文

对于大多数朋友来说,目前网站的访问速度是很大的一个问题,如果能够更大限度的优化网站是每一位站长必须要考虑的事。

对于国内网站来说,由于域名已经备案,而且网站架设在国内服务器上,国内网友访问一般来说不会有太大的问题,除非服务器或自己的优化真的非常糟糕!

但是对于网站架设在国外或者没有备案的站长呢?那可以使用CDN服务,比如:Cloudflare。

但使用这些真的不错么?效果的确不错,但也有一些限制,比如需要修改NS,或者收费,而且价格不便宜!

那么除了这些就没有其他方案了么?当然不是了,还可以自建CDN来使用!

自建CDN目的

自建CDN,其实就是将自己手头多余的VPS等资源进行合理利用,若自己的VPS资源众多,甚至可以做到多节点,多区域网络覆盖,再通过如DNSPOD等智能DNS系统进行线路优化,合理的加快主站的访问速度,将访问进行分流。

比如主站服务器是A,地域为美国,为了照顾国内用户访问,在香港有一台服务器B,将它作为CDN服务器,所有静态资源均在B服务器存放一份,然后在用户访问时,根据访问者地域选择就近原则,国内用户访问服务器B的静态资源,国外用户访问主站资源,同时将这些资源设定浏览器缓存,这样就增加了一定的访问速度。

准备工作

首先必须至少有两台服务器或VPS等能够进行自主操作的资源,比如A和B,A站在美国,使用WordPress,IP地址:1.2.3.4,域名绑定:www.a.com;B站在日本,空白网站,IP地址:2.3.4.5,域名绑定:static.b.com。

网站主站架设在A服务器上(即所有网站内容,包含动态文件、数据库等),我们将在B站上架设CDN服务。

程序安装

由于A站上已经将服务环境架设好,网站也已经正常运行,同时也无需在A站上进行多余操作,故此,所有操作未进行说明均表示B站进行。

首先,自建CDN选择的是ngx_cache_purge这一模块,要运行这个模块,就需要服务器上安装有Nginx,若之前安装过的,重新安装一次,加上参数即可。

下载相关软件

安装Nginx

验证ngx_cache_purge安装

/usr/local/nginx/sbin/nginx -V

若出现了“--add-module=../ngx_cache_purge-2.3”字样表示已经安装完成

Nginx配置

打开nginx.conf文件,在HTTP区域中添加如下内容

注意上面的“/data/wwwroot/static.a.com”,这是B站的网站路径

打开网站配置文件,在添加或修改如下内容,将静态文件进行缓存

最后重新载入下Nginx,当以后访问static.a.com时,B站会先检查本地是否有缓存,若缓存存在则直接展示,若不存在则会访问www.a.com,将资源保存下来进行展示。

网站程序配置

现在CDN架设好了,但是要怎样使用到网站上呢?

  1. 主站所有静态资源域名必须是static.a.com
  2. static.a.com域名必须正确指向B站

WordPress替换法

如果网站使用的是WordPress程序,那可以很方便的对资源进行操作,其实也无需操作,就是把静态资源域名进行更改即可,反正CDN会自动拉取资源到本地!

打开本站模板函数文件“function.php”,在其中添加如下代码

若本站安装有缓存插件,将缓存先清空一次,然后尝试打开网站,若uploads目录下所有静态资源均指向static.a.com域名,且访问正常,则表明CDN已经运行正常了!

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin