利用 BT 宝塔面版反向代理 / 负载均衡 / 自建 CDN 加速海外网站访问

对于用国外主机来做站的小伙伴,很多时候如果在国内进行操作或者面对国内访客的时候,会发现访问速度不是那么友好。其实我们可以使用 CDN 进行网站加速,说起来 CDN 这个玩意,貌似很高大上,但是很多小伙伴没用过不敢用,或者直接说用不起,那如果自己有几台服务器主机的话,那么就可以进行自己搭建 CDN 的方式进行海外网站加速了,在这里,虾皮路就给大家介绍一下利用 BT 宝塔面版反向代理 / 负载均衡 / 自建 CDN 加速海外网站访问教程。

使用前提:

1、源站(放主要数据的网站)所在的主机部署在海外,访客主要是国内,且国内访问速度不够友好。
2、手上有几台 VPS 主机,以离大陆越近,线路越好最佳。
3、喜欢折腾。

如果本来源站就放在香港、日韩、台湾等地,在国内访问速度很不错,再加上网站主要是国内访客访问,那么就不是很有必要用 CDN 了,毕竟再进一步还不如直接用国内的 CDN。当然,如果喜欢折腾的,尽管来捣鼓一下,还是很有成就感的。

一、自建 CDN / 反向代理 / 负载均衡的原理

原理很简答,利用手中闲置的主机,安装 BT 宝塔面版,然后在里面开启反向代理,开启缓存,再根据每台主机对国内线路(移动、联通、电信等)的友好情况进行解析设置,从而达到网站中转,自建 CDN 及负载均衡的作用。

至于使用 CDN 的好处,虾皮路也不想说太多,简单来说就是从最近的点位获取资源,打开网站速度更快,从而加速网站访问,如下图。

二、要实现的访问效果

最终我们要实现或者达到怎样的访问效果呢,这里虾皮路就举例说明。不仅仅是网站访问速度加快,还有隐藏源站 IP,负载均衡等等效果。

当然,我们最在乎的还是网站访问加速了,o(* ̄︶ ̄*)o ,效果对比如下:

未进行 CDN 加速前的网站域名是 www.shopee6.com,放在美国 A 主机上。

未加速前效果:

国外访客访问 www.shopee6.com 域名的主机很快,ping 值一般在 10-50ms 以内,打开页面速度基本 1 秒以内。但是国内访客访问 www.shopee6.com 域名的主机速度一般,ping 值在 200-300ms 之间甚至更高,打开页面速度基本在 2.5 秒以上或者更长。

网站域名不变,还是 www.shopee6.com,放在美国 A 主机上,不需要进行任何配置。利用香港主机 B、日本主机 C 上对其进行反代 CDN 加速。

加速后的效果:

国外访客访问 www.shopee6.com 域名的主机很快,ping 值一般在 10-50ms 以内,打开页面速度基本 1 秒以内。国内访客访问 www.shopee6.com 域名的主机速度加快,ping 值在 50-100ms 之间。打开页面速度基本在 1 秒以内。

三、在闲置主机上安装 BT 宝塔面版

网上有很多自建 CDN 教程,比如直接用 Nginx 进行反代的,或者使用 Fikker 等程序进行 CDN 搭建的,这里虾皮路直接用 BT 宝塔面版进行反代,毕竟图形化界面,易操作,对于新手来说操作很简单。

首先利用 SSH 登陆香港主机 B 或者日本主机 C,输入如下一键安装的代码:

Centos 安装脚本:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

Ubuntu/Deepin 安装脚本:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian 安装脚本:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

Fedora 安装脚本:

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

BT 宝塔面版的安装过程就不说了,网上太多了。

四、设置反向代理实现 CDN 效果

安装 BT 宝塔面版完成后,登录后一键安装 Nginx 及 PHP 即可,其他 FTP 及数据库都不用安装即可。

以上安装完成后那么香港主机 B、日本主机 C 可以进行图形化操作了,接下来的操作及设置如下,如果有多台主机的话一模一样设置即可:

1、添加网站

在 BT 宝塔面版里增加网站,点击左边菜单,添加站点,域名填写和源站的域名一致,参考如下:

因为只做反向代理而已,无需增加数据库和上传下载功能。

2、添加反向代理

点击新建的站点,设置 – 反向代理 – 添加反向代理

里面要填的内容参考如下:

建议开启缓存,缓存时间根据自己的网站更新速度进行设置,比如更新比较密的,可以设置 30 分钟或者 1 个小时,如果更新不频繁的,那可以设置 3-6 个小时甚至更高。

目标 URL 指的是你的源站网址,如果源站有用到 SSL 的话,那这里的网址也要加上 https,如果没有用到 SSL 的话,那就填 http 即可。内容替换一般不用填。

高级功能指的是,如果源站是默认是二级目录下的,那么就可以填上。比如原来的源站访问实际站点不是放在根目录里的,是 https://www.shopee6.com/bbs 的形式,那么这里也要填上 / bbs,到时访问还是和原来一样。

以上填好后保存即可。

3、设置 SSL 同步

如果源站有 SSL 的话,那么代理站的 BT 宝塔面版里的 SSL 设置要和原来源站的一样,将源站的 SSL 密钥这些复制过来就行了。

4、编辑 hosts 文件指定 IP 到域名

因为我们的源站是有数据的,反代的香港和日本主机域名和源站又一样,那就会出现反代的主机的数据从哪里获取的问题,如果不设置则会一直陷入一个死循环。因此,我们需要编辑 hosts 文件指定 IP 到域名,也就是告诉香港和日本主机这些 CDN 节点要到哪里获取真实的数据。

点击香港和日本主机的 BT 宝塔面版中的文件功能,找到 etc 文件夹,然后在文件夹里面找到 hosts 文件,点击右键进行编辑

输入的 IP 地址是源站的 IP 地址,域名是源站的域名(不用加 https://),类似如下:

123.123.123.123 www.shopee6.com

保存就行了。

5、重载 Nginx 配置

因为我们对配置进行了修改,那接下来就是需要重置 Nginx 的配置让其生效。

自此,反代端的香港主机及日本主机的设置已完成。

五、分线路解析 IP

这时候还有最后一步,我们需要到域名解析后台进行分线路的解析。以国内的 dnspod 为例,我们需要根据不同的线路情况进行分线路解析 IP。

比如香港主机的 IP 是 1.1.1.1,在国内电信和移动访问速度快,ping 值低,那么电信和移动线路的访客就直接解析到香港主机的 IP,也就是 1.1.1.1。同理,比如日本主机的 IP 是 2.2.2.2,在国内联通线路访问速度快,ping 值低,那么可以将联通线路的访客直接解析到日本主机的 IP,也就是 2.2.2.2。国外访问可以设置还是使用源站的 IP 即可,也可以根据情况自行调整。参考如下:

其中根据自己的实际情况进行 IP 的设置,同时将搜索引擎的抓取仍然指向源站 IP 即可。

以上解析等 24 个小时以上基本都可以更改完成,这个时候访问就会发现网站加速已经开始。有的如果设置 TTL 时间为 120 的话,那就是 120 秒就生效了。ping 自己的域名,就可以看到返回各种设定的 IP 了。

自此,虾皮路介绍的利用 BT 宝塔面版反向代理 / 负载均衡 / 自建 CDN 加速海外网站访问的教程就结束了,如果有钱的话,还是可以上专业的 CDN 的,毕竟在回源处理,页面压缩,网站加速方面更加专业,有兴趣可以留言讨论。

© 版权声明
THE END
喜欢就支持以下吧
点赞33赞赏
分享
评论 抢沙发

请登录后发表评论