全球主机交流论坛

用户名  找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2932|回复: 38

【吃灰的小鸡能干啥?】教你轻松搭建高性能的CDN集群

  [复制链接]
发表于 2020-7-18 09:57:50 | 显示全部楼层 |阅读模式
本帖最后由 shc 于 2020-7-19 02:00 编辑

EDIT: 一键脚本已经在编写中,预计月底之前出炉。

前几天,我在这里介绍了使用Traffic Server反代网站。Traffic Server是强大的正反代/缓存/CDN套件,只用来反代的话有点大材小用了。今天就来介绍使用Traffic Server搭建高性能的CDN集群。

使用Traffic Server的商业CDN有Akamai, Comcast, 又拍云等,已经是非常成熟的系统了,功能丰富,高速高并发。

教程将分为11个部分,其中仅有两部分是必须设置的,即配置映射规则和缓存规则,其他都不是必须的。因此,这里我仅列出来这两部分的内容,其他内容(缓存分区,SSL/OCSP装订/HTTP2, 自定义Headers, via header, 调试与监测, 防止惊群, 拥塞控制, DNS缓存, 均衡负载等等)由于太长,请移步博客按照实际需要操作哈。操作起来很简单,一般20-30分钟就可以安装配置好。

原文链接:https://qing.su/article/traffic-server-cdn-cluster.html

测试的CDN服务器是在一台1核,1GB内存的腾讯云轻量小鸡上,另外实测512MB内存就可以完美运行,不过一开始编译安装的时候需要加一点swap.  之前loader.io压力测试结果可以看这里(https://bit.ly/32xD1nI),2000并发访客不间断CC,一分钟38万个请求全部成功,CDN服务器CPU 40%, 源站没有任何压力,倒是轻量云的网络限制是个瓶颈……(不过我现在已经把CDN关了,所以求大佬们别打我,谢谢……

教程开始……

1, 安装Traffic Server

这一步是和之前的文章一样的。

  1. wget https://mirrors.ocf.berkeley.edu/apache/trafficserver/trafficserver-8.0.8.tar.bz2
  2. tar xjf trafficserver-8.0.8.tar.bz2
  3. apt install automake libtool pkg-config libmodule-install-perl gcc g++ libssl-dev tcl-dev libpcre3-dev libcap-dev libhwloc-dev libncurses5-dev libcurl4-openssl-dev flex autotools-dev bison debhelper dh-apparmor gettext intltool-debian libbison-dev libexpat1-dev libfl-dev libsigsegv2 libsqlite3-dev m4 po-debconf tcl8.6-dev zlib1g-dev
  4. cd trafficserver-8.0.8
  5. ./configure --enable-experimental-plugins
  6. make
  7. make install
  8. ln -s /usr/local/etc/trafficserver /etc/trafficserver
复制代码


2, 设置映射规则

可以使用正代或者反代配置CDN, 都可以实现全部功能,两者性能都很高。不过由于安全原因,最外层节点不建议用正代

(1) 正代规则

  1. #records.config
  2. CONFIG proxy.config.reverse_proxy.enabled INT 0
  3. CONFIG proxy.config.url_remap.remap_required INT 0
  4. CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
复制代码


然后配置DNS

(2) 反代规则

  1. #records.config
  2. CONFIG proxy.config.reverse_proxy.enabled INT 1
  3. CONFIG proxy.config.url_remap.remap_required INT 1
  4. CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
复制代码

  1. #remap.config 88.88.88.88为源站IP
  2. map https://qing.su/ https://88.88.88.88:443/
复制代码


3, 设置缓存规则

  1. #records.config
  2. CONFIG proxy.config.http.cache.http INT 1
  3. CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 1
  4. CONFIG proxy.config.http.normalize_ae_gzip INT 1
  5. CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 1
  6. CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1
  7. CONFIG proxy.config.http.cache.when_to_revalidate INT 0
  8. CONFIG proxy.config.http.cache.required_headers INT 2
  9. CONFIG proxy.config.http.cache.ignore_client_no_cache INT 1
复制代码

  1. #cache.config 按需配置
  2. url_regex=.* suffix=js ttl-in-cache=5d
  3. url_regex=.* suffix=css ttl-in-cache=5d
  4. url_regex=.* suffix=html ttl-in-cache=5d
  5. url_regex=.* suffix=xml ttl-in-cache=5d
  6. url_regex=.* suffix=ts ttl-in-cache=5d
  7. url_regex=.* suffix=jpeg ttl-in-cache=5d
  8. url_regex=.* suffix=mp4 ttl-in-cache=5d
  9. url_regex=.* suffix=zip ttl-in-cache=5d
  10. url_regex=.* suffix=gif ttl-in-cache=5d
  11. url_regex=.* suffix=jpg ttl-in-cache=5d
  12. url_regex=.* suffix=swf ttl-in-cache=5d
  13. url_regex=.* suffix=m3u8 ttl-in-cache=5d
  14. url_regex=.* scheme=https ttl-in-cache=1h
  15. url_regex=.* scheme=http ttl-in-cache=1h
复制代码



其他部分,比如缓存分区,SSL/OCSP装订/HTTP2, 自定义Headers, via header, 调试与监测, 防止惊群, 拥塞控制, DNS缓存, 均衡负载等等,请参考原文https://qing.su/article/traffic-server-cdn-cluster.html.  一般来说,建议设置SSL与HTTP2, 惊群配置与拥塞控制,其他的如果没有特殊需求可以不用设置。


有任何疑问欢迎在这里或者在我博客上留言哈,如需转载请注明原文链接。谢谢大家!

发表于 2020-7-18 11:40:17 | 显示全部楼层
又拍早不用 Traffic Server 了    这就是个残缺品。。。。。没有自己开发能力的 谨慎使用
发表于 2020-7-18 12:45:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-7-18 09:58:26 | 显示全部楼层
大佬,还是你懂得多
发表于 2020-7-18 09:58:53 | 显示全部楼层
厉害厉害,收藏了,一直想了解一下自建CDN
发表于 2020-7-18 09:59:20 | 显示全部楼层
技术贴 绑定   
发表于 2020-7-18 10:00:22 来自手机 | 显示全部楼层
先收藏再回复
发表于 2020-7-18 10:02:23 来自手机 | 显示全部楼层
先收藏再说
 楼主| 发表于 2020-7-18 10:04:49 | 显示全部楼层
inkedus 发表于 2020-7-18 09:58
大佬,还是你懂得多

大佬你是真快……
发表于 2020-7-18 10:05:04 | 显示全部楼层
帮顶 技术贴啊
发表于 2020-7-18 10:06:28 | 显示全部楼层
火钳留名,感谢大佬分享
发表于 2020-7-18 10:06:31 | 显示全部楼层
nbnb绑定绑定
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-6-8 05:42 , Processed in 0.065521 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表