CDN怎么自建,怎么搭建私人网站CDN加速,开源免费CDN搭建源码,免费CDN加速程序,自建CDN系统,搭建CDN系统,Nginx反向代理加速软件,内容分发网络CDN,OneClickCDN脚本支持HTTPS配置加速。OneClickCDN 一键安装配置高性能的CDN节点脚本是由 by 香菇肥牛 原创独立开发的一个自建CDN脚本,使用该一键脚本,您可以在自己的VPS上一键安装部署CDN, 方便地为您的网站提速。目前支持Ubuntu 20.04 LTS, Debian 10, Debian 11, CentOS 7/8操作系统。
虽然国内外有Cloudflare、七牛、又拍云、阿里云CDN、腾讯云CDN等免费和付费兼备的CDN服务,但是国内的CDN服务器都是需要域名备案才能使用,而且国内的CDN服务商提供的亚太节点费用比较的高,为什么我们不自建CDN来加速自建的网站呢,选择亚太节点的CDN又太贵,国内的CDN又不能用。自建CDN服务器来帮助你解决这个问题。
所以,自建CDN还是十分必要的,尤其是对于一个视频类和图片类的大流量网站,自建CDN可以帮助节省大量的建站成本。本文就来分享一下香菇肥牛博主原创的 OneClickCDN 一键安装配置高性能的CDN节点脚本,OneClickCDN 脚本是基于国外开源 Apache Traffic Server系统开发的,Apache Traffic Server,简称ATS,由Yahoo于2009年开源,经过现在已经成为了非常成熟的Dai理/缓存/CDN系统,使用Traffic Server的CDN/大型网络有Apple, Comcast, Yahoo, Akamai, 以及国内的又拍云等。
一、什么是CDN
是位于不同网站上的服务器网络。 这些位于不同地理位置的服务器将您网站的内容存储在自己身上,并在网站用户请求内容时通过地理位置最近的服务器将这些内容提供给用户。 这样,用户请求得到更快的响应,网站的整体速度得到提高。根据设置的不同,CDN 上存储了各种内容格式,例如 HTML、CSS 和 JS 文件、图像、音频、视频、字体、软件文件以及一般的静态和动态网站文件。
当然了我们的一键安装配置高性能的CDN节点脚本OneClickCDN 虽然可以搭建多个CDN节点,但是我们个人站长钱包有限,建议买一个香港CN2服务器来配置自建CDN即可,这样又不需要备案,国内线路,国外线路访问速度都是很快的。
二、CDN服务器要求
系统环境要求:目前支持Ubuntu 20.04 LTS, Debian 10, CentOS 7/8操作系统,CDN服务器正常运行时仅需要系统有500MB的内存。但是程序第一次编译安装的时候需要1500MB左右的内存。若您的VPS内存不够,可以加一些内存。需要注意的是,该脚本需要安装在新装的操作系统中。
该程序和其他面板(比如宝塔,cPanel, Directadmin)等不兼容,为了可以达到最大的加速效果,建议选择大带宽和大流量的香港VPS、韩国VPS或者美国三网CN2 GIA VPS主机,这样无论是电信、联通还是移动网络用户,都可以获得最佳了访问体验。
三、一键安装CDN脚本
一键安装配置CDN服务器OneClickCDN脚本,因为是一键脚本,所以使用起来非常简单,只需要一行命令就可以啦!
使用管理员root账号连接SSH后直接使用下面的一键安装CDN脚本即可。
英文版
wget https://raw.githubusercontent.com/Har-Kuun/OneClickCDN/master/OneClickCDN.sh && sudo bash OneClickCDN.sh
中文版
wget https://raw.githubusercontent.com/Har-Kuun/OneClickCDN/master/translation/translated_scripts/OneClickCDN_zh-CN.sh && sudo bash OneClickCDN_zh-CN.sh
第一次运行时,程序会提示自动编译安装Apache Traffic Server。
安装时间根据你的服务器性能决定,本站使用阿里云轻量服务器2核2G 花费时间25-30分钟
安装过程中可能会出现以下情况,直接回车键即可,要是还有弹窗,直接回车默认安装
Configuration file '/etc/grub.d/10_linux' ==> Modified (by you or by a script) since installation. ==> Package distributor has shipped an updated version. What would you like to do about it ? Your options are: Y or I : install the package maintainer's version N or O : keep your currently-installed version D : show the differences between the versions Z : start a shell to examine the situation The default action is to keep your current version. *** 10_linux (Y/I/N/O/D/Z) [default=N] ?
安装好Apache Traffic Server后,接下来会让你选择配置缓存规则、内存缓存大小、磁盘缓存大小、是否想让Traffic Server缓存动态内容等等。如下图
您是否要设置默认的缓存规则? [Y/N] N (建议选择N,不然网站登陆会注册都会出现一些问题,过来人实测) 配置缓存规则... 成功配置缓存规则。 配置缓存大小... 请输入内存缓存大小。 单位为M. 请输入一个整数值。 推荐值为200M每GB内存。 400 RAM缓存值已设置为 400M. 请输入磁盘缓存大小。 单位为M. 请输入一个整数值。 推荐值为至少2048M. 8000 磁盘缓存已设置为 8000M. 正在为磁盘缓存分区... 磁盘缓存分区成功。 配置header修改器... header修改器已启用 您是否想让Traffic Server缓存动态内容? [Y/N] y 更新缓存规则... 已更新缓存规则! Traffic Server将缓存动态内容。 Would you like to enable "Access-Control-Allow-Origin" header (CORS)? 如果您不知道这是什么,请选择Y. [Y/N] y 设置CORS信头... CORS信头已添加! The "server" header can be a short phrase, like "shc-cdn-server 1.0.0", or "Traffic Server 8.0.8". If you do not change it, the default value is "ATS/8.0.8" 您想要更改吗? [Y/N] n Server信头字段未更改。 配置成功! 请开始下一步,添加第一个CDN网站。
四、添加和配置CDN加速网站
接下来就是添加和配置CDN加速网站了,你也可以重新运行命令:sudo bash OneClickCDN.sh 或者 sudo bash OneClickCDN_zh-CN.sh,如下图:
一键脚本提供了列出当前所有CDN网站、高级缓存控制选项、添加一个CDN网站、为网站配置SSL、显示配置文件与日志文件路径、查看网站统计数据、续期Let’s Encrypt证书等等。
检查Traffic Server安装状态... Traffic Server 已安装且正在运行! 请问您需要什么帮助呢? 1 - 列出当前所有CDN网站。 2 - 高级缓存控制选项 3 - 添加一个CDN网站。 4 - 为网站配置SSL. 5 - 显示配置文件与日志文件路径。 6 - 查看网站统计数据。 7 - 列出常用命令。 8 - 显示作者信息。 11 - 更改网站IP地址。 12 - 移除一个CDN网站。 13 - 重新配置 Traffic Server. 14 - 续期Let's Encrypt证书。 21 - 将Trafficserver配置信息与SSL证书备份至文件。 22 - 从本地服务器的备份文件中导入Trafficserver配置信息与SSL证书。 23 - 从URL链接指向的备份文件中导入Trafficserver配置信息与SSL证书。 0 - 保存所有修改并退出此脚本。 请选择 1/2/3/4/5/6/7/8/11/12/13/14/21/22/23/0:
4.1 域名解析到这台CDN的IP地址
如果你的源站启用了SSL证书,一键安装配置高性能的CDN节点可以帮助你在CDN服务器上自动申请和配置Let’s Encrypt证书。你需要先将你的域名解析到CDN服务器上的IP上。
注意:源站的SSL加密证书不需要跟CDN一样,也就是说源码的SSL证书不用改变,只需要在配置这个CDN脚本的时候自动申请和配置Let’s Encrypt证书,就可以访问你的网站。
温馨提示:另外有个问题需要注意的是,配置CDN后可能出现无法访问的情况,你可以清理浏览器缓存,清理DNS缓存来解决,本站在配置的时候就出现过这个问题,解决方法就是把DNS改成阿里的才搞定。
4.2 添加CDN域名
请问您需要什么帮助呢? 1 - 列出当前所有CDN网站。 2 - 高级缓存控制选项 3 - 添加一个CDN网站。 4 - 为网站配置SSL. 5 - 显示配置文件与日志文件路径。 6 - 查看网站统计数据。 7 - 列出常用命令。 8 - 显示作者信息。 11 - 更改网站IP地址。 12 - 移除一个CDN网站。 13 - 重新配置 Traffic Server. 14 - 续期Let's Encrypt证书。 21 - 将Trafficserver配置信息与SSL证书备份至文件。 22 - 从本地服务器的备份文件中导入Trafficserver配置信息与SSL证书。 23 - 从URL链接指向的备份文件中导入Trafficserver配置信息与SSL证书。 0 - 保存所有修改并退出此脚本。 请选择 1/2/3/4/5/6/7/8/11/12/13/14/21/22/23/0: 3 请输入您网站的域名(比如example.com): www.vpsoy.com 请输入源站IP地址。如果源站有多个IP地址,可以填任意一个。 1.1.1.1 源站是否启用SSL?如果是HTTPS, 请输入1; 如果是HTTP, 请输入2. 1 为www.vpsoy.com添加映射规则... 已添加2条规则。 您是否想要现在为www.vpsoy.com配置SSL证书? 您可以提供您自己的证书;如果您已经将域名指向了该服务器的IP地址,您也可以一键生成免费的Let's Encrypt SSL证书。 请输入您的选项。 1: 我知道我的证书文件的路径(私钥,证书,CA中间链证书(可选)),我想提供我自己的证书。 2: 我已经将我的域名指向了该服务器的IP, 我想生成免费的Let's Encrypt证书。 3: 我不记得证书文件放在哪儿了,得去找找;或者我暂时不想为该域名设置SSL. 请选择 1, 2, or 3: 2 开始用Let's Encrypt生成免费SSL证书。... 该功能仍在实验阶段,请您知悉。... 关闭Traffic Server... 请输入一个邮箱地址: 212001@qq.com * Stopping Apache Traffic Server trafficserver [ OK ] 接下来你就可以看到配置成功,网站就可以访问了
4.3 相关管理命令
1.启动 trafficserver start 2.关闭 trafficserver stop 3.重启 trafficserver restart 4.重载配置文件(很多情况下好像都没有生效) traffic_ctl config reload 5.监控ats的状况 类似于top命令 traffic_top 6.清理所有缓存 traffic_server -Cclear
重启命令:trafficserver restart 每次配置完成后需要对CDN进行重启才能失效
五、ATS CDN加速效果体验
如何知道Apache Traffic Server是否生效呢?打开你的网站,用Chrome查看一下url返回头部,如果你在配置Apache Traffic Server自定义了”server” header,这里就可以看到了,默认的是 “shc-cdn-server 1.0.0”, or “Traffic Server 8.0.8” 如果看见自己配置的标头,说明CDN加速成功。
通过加速之前和CDN加速后效果比较的明显
推荐使用香港CN2+BGP线路的服务器,Apache Traffic Server CDN服务器可以有效地改善美国CN2 VPS主机在晚上,上网高峰期的移动和联通打开网站的速度。
六、启用CDN后如何获取用户真实IP
在 records.config添加下面一行,然后重启ATS。
CONFIG proxy.config.http.insert_forwarded STRING for
想要修改server header,你可以重装配置Traffic Server,或者在/etc/trafficserver/header_rewrite.so里面加上,然后重启ATS :
cond %{SEND_RESPONSE_HDR_HOOK} [AND] cond %{HEADER:server} =ATS/8.0.8 set-header server "NewServerName"
七、实现负载均衡,联通,移动,电信,国内,国外用户走不同线路
你可以按照上面的方法部署多台服务器来达到 联通,移动,电信,国内,国外用户走不同线路,部署完成后利用DNSPOD设置好线路解析即可。如下图你可以配置6个CDN节点服务器,甚至多个CDN节点来加速网站。
你甚至还可以专门对搜索引擎设置CDN节点来帮助网站的收录,不过不清楚效果怎么样,如下图
八、本站详细配置参考
Traffic Server 安装成功! * Starting Apache Traffic Server trafficserver [ OK ] Traffic Server 启动成功! Created symlink /etc/systemd/system/multi-user.target.wants/trafficserver.service → /etc/systemd/system/trafficserver.service. 配置Traffic Server... 您是否要设置默认的缓存规则? [Y/N] Y 配置缓存规则... 成功配置缓存规则。 配置缓存大小... 请输入内存缓存大小。 单位为M. 请输入一个整数值。 推荐值为200M每GB内存。 400 RAM缓存值已设置为 400M. 请输入磁盘缓存大小。 单位为M. 请输入一个整数值。 推荐值为至少2048M. 8088 磁盘缓存已设置为 8088M. 正在为磁盘缓存分区... 磁盘缓存分区成功。 配置header修改器... header修改器已启用 您是否想让Traffic Server缓存动态内容? [Y/N] Y 更新缓存规则... 已更新缓存规则! Traffic Server将缓存动态内容。 Would you like to enable "Access-Control-Allow-Origin" header (CORS)? 如果您不知道这是什么,请选择Y. [Y/N] Y 设置CORS信头... CORS信头已添加! The "server" header can be a short phrase, like "shc-cdn-server 1.0.0", or "Traffic Server 8.0.8". If you do not change it, the default value is "ATS/8.1.3" 您想要更改吗? [Y/N] Y 请给这台服务器取名。 CDN 好的,正在设置server信头字段... Server header set! 配置成功! 请开始下一步,添加第一个CDN网站。 请问您需要什么帮助呢? 1 - 列出当前所有CDN网站。 2 - 高级缓存控制选项 3 - 添加一个CDN网站。 4 - 为网站配置SSL. 5 - 显示配置文件与日志文件路径。 6 - 查看网站统计数据。 7 - 列出常用命令。 8 - 显示作者信息。 11 - 更改网站IP地址。 12 - 移除一个CDN网站。 13 - 重新配置 Traffic Server. 14 - 续期Let's Encrypt证书。 21 - 将Trafficserver配置信息与SSL证书备份至文件。 22 - 从本地服务器的备份文件中导入Trafficserver配置信息与SSL证书。 23 - 从URL链接指向的备份文件中导入Trafficserver配置信息与SSL证书。 0 - 保存所有修改并退出此脚本。 请选择 1/2/3/4/5/6/7/8/11/12/13/14/21/22/23/0: 3 请输入您网站的域名(比如example.com): www.1.com 请输入源站IP地址。如果源站有多个IP地址,可以填任意一个。 68.8.8.9 源站是否启用SSL?如果是HTTPS, 请输入1; 如果是HTTP, 请输入2. 1 为www.1.com添加映射规则... 已添加2条规则。 您是否想要现在为www.1.com配置SSL证书? 您可以提供您自己的证书;如果您已经将域名指向了该服务器的IP地址,您也可以一键生成免费的Let's Encrypt SSL证书。 请输入您的选项。 1: 我知道我的证书文件的路径(私钥,证书,CA中间链证书(可选)),我想提供我自己的证书。 2: 我已经将我的域名指向了该服务器的IP, 我想生成免费的Let's Encrypt证书。 3: 我不记得证书文件放在哪儿了,得去找找;或者我暂时不想为该域名设置SSL. 请选择 1, 2, or 3: 2 开始用Let's Encrypt生成免费SSL证书。... 该功能仍在实验阶段,请您知悉。... 关闭Traffic Server... 请输入一个邮箱地址: 1@1.com * Stopping Apache Traffic Server trafficserver [ OK ] Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: y Obtaining a new certificate Performing the following challenges: http-01 challenge for www.1.com Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/www.1.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/www.1.com/privkey.pem Your cert will expire on 2022-06-15. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le - We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org. SSL证书配置成功。 源站IP: 68.8.8.9 私钥文件地址: /etc/trafficserver/ssl/www.1.com.key 证书文件地址: /etc/trafficserver/ssl/www.1.com.crt * Starting Apache Traffic Server trafficserver [ OK ] CDN网站添加成功
相关ATS缓存规则你可参考此文章 ATS配置及缓存规则
以上就是OneClickCDN 一键自建CDN节点脚本的详细图文教程,教程为VPS测评网原创,转载请注明出处,谢谢合作 转载自VPS测评网:https://www.vpsoy.com/oneclickcdn.html