本人管理或运营的几个网站的主服务器都放在国外, 如果从国内直接访问的速度会比较慢, 而且感觉就算套了CF或阿里云等CDN后, 在国内的效果还是不够理想, 特别是上传速度挺慢的. 后来使用Nginx和fikker配合CloudXNS智能DNS搭建了一套简易的CDN, 现在全球的用户不管是上传, 还是浏览速度都还不错. 最近老是看到论坛有人在讨论反向代理和CDN的问题, 我也来说说我的一些经验和感受吧.
首先确定你的主要用户群是在哪里?
如果主要用户来自中国, 那么建议节点服务器选择香港/台湾/新加坡. 节点服务器一定要离用户进一点, 最好ping值在80以内, 阿里云的香港或者新加坡是一个很好选择. 主站点服务器可以放在美国, 不过主服务器到节点服务器一定要稳定, 但ping值不需要那么好, 一般200甚至250以内都没有问题.
如果你的用户来自欧美, 那么就非常好解决了, 主站随便放在欧洲或者美国东部, 节点放在另外一边都可以, 这样两边的速度都非常快.
建议的解决方案:
主站源服务器放在美国西岸, 反代节点位于香港和法国, 这样基本上照顾到了亚洲/北美和欧洲地区的用户.
节点服务器不需要多好的配置, 一般建议使用KVM构架的VPS, 配置在1核, 512MB的内存, 硬盘10G或以上就好了.
动态网站解决方案(论坛、博客、等动态网页)
1, 如果您的网站是动态网站, 那么建议使用fikker, 这套程序的免费版本只是比收费版本少了一个缓存效果, 通过测试,我感觉反代效果比Nginx好, 另外系统选择CentOS 6 x64, 因为我发现在CentOS 7上上传有Bug. 若系统里再安装一个锐速效果会更好.
fikker的搭建方法很简单,请直接查看官方官方:
https://www.fikker.com/help/install-fikker-linux-step-by-step.html
yum -y install wget
删除必要服务
yum remove httpd nginx -y
wget -c https://www.fikker.com/dl/fikkerd-3.7.7-linux-x86-64.tar.gz
tar zxvf fikkerd-3.7.7-linux-x86-64.tar.gz
cd fikkerd-3.7.7-linux-x86-64
./fikkerd.sh install && ./fikkerd.sh start
管理界面
http://your-ip:6780/
管理员/监控员的初始密码:123456, 登录后建议首先修改密码
如果无法登陆, 请检查防火墙设置
iptables防火墙(Centos 6)
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p tcp --dport 6780 -j ACCEPT
service iptables save
service iptables restart
firewall防火墙(CentOS 7)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=6780/tcp --permanent
firewall-cmd --reload
进入后台在主机管理里面添加您的网站域名和源站IP
另外还可以根据自己的要求去设置一些缓存项目, 如果您对这个不熟悉, 那么使用默认的设置就好了
其实Fikker还有很多功能, 比如页面缓存、实时监控、流量统计、转向管理、防CC攻击等等, 但是免费版本不包括页面缓存, 如果您需要缓存这个功能, 那么建议购买他们的全功能商业版本, 价格是399元/年.
https://www.fikker.com/price.htm
停止服务,在安装目录下面运行:
./fikkerd.sh stop
删除服务,在安装目录下面运行:
./fikkerd.sh uninstall
注册服务,在安装目录下面运行:
./fikkerd.sh install
通过上面的方法, 您可以在全球架设多个节点, 如果您的节点比较多, 那么还可以通过他们的主控系统来集中化管理
静态网站解决方案 (如图片、html网页、小文件)
2, 如果您的网站绝大部分是静态文件(如图片), 那么建议使用宝塔面板, 配合着Nginx反向代理缓存还是非常好用的. 这样不仅节约原服务器的流量, 还可以提高用户的浏览速度, 当然了, 系统建议还是加上BBR或者锐速, 那样效果好很多.
智能DNS解析
配置好节点服务器后再去智能DNS里面根据自己的要求解析好域名, 这样基本上一个建议的CDN/反代加速系统就搭建好了.
DNS服务商一般推荐CloudXNS和DNSPOD.