热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

用DNSPod和Squid打造自己的CDN全程分享

本篇教程是顺应大家的要求而写。教程内大部分都是奶罩在为VeryCD等大型网站构建CDN时所累积的经验。在一些概念方面可能会有一些错漏,希望大家指正
本教程面对的对象是个人站长,所以各方面会力求傻瓜化,让大家都能看懂。当然,前提是需要你要有一颗好学的心,还有坚韧的毅力。
另外一方面,本篇文章基本不会涉及到Windows的内容,整套系统将会是架构在CentOS Linux 5上。别问我为什么不是Windows,因为Windows只能拿一个字形容:烂。不喜欢Linux,或者认为Linux学习起来有困难的朋友,可以到此打住。
可能有人要问,为什么是Linux,而不是FreeBSD?因为FreeBSD不管从系统的优化配置,还是文件系统的性能,都不合适初学者。
先前说过,本篇文章针对的是没有多少技术基础的个人站长,所以文章内会有Linux的安装、基本操作等一些东西教给你,让你学得简单,时间花得有价值。
再罗嗦一下,在接下来的时间内你将要面对一个黑漆漆的,全是英文的屏幕,请做好心理准备。


注意:本篇教程将*不会*涉及到以下内容:

1.动态内容(比如BBS)
2.大文件(比如软件下载站的软件)

第 1 章 CDN和智能DNS
1.什么是CDN
简单来说,CDN就是能让你的网站访问起来更加快的东西。例如网通用户访问了你在网通的CDN服务器上面某个文件,CDN系统就会判断这个文件是否被请求过,如果被请求过,在没有失效的情况下,就会从系统的缓存里面读取这个文件并返回给用户。如果这个文件没有被请求过,那么CDN会自动从你的主服务器上面获取这个文件,然后缓存到CDN系统内,再给用户返回。
看到这里,聪明的朋友就会问:如果网通的CDN服务器,访问我在电信的主服务器速度很慢,那么是不是用户第一次请求这个文件的时候会很慢?嘿嘿,恭喜你,的确是这样。并且,在文件没有完全缓存到CDN上面的时候,所有访问这个文件的用户都会出现错误,比如网页打开不完整,文件下载到一半等。但只要你的网站访问量足够大,这个影响对用户来说是微不足道的。
然后还有朋友会问,为什么商业的CDN不存在这个问题?因为,商业的CDN有自己租用的线路,自己走路由。这就是商业CDN卖得如此之贵的原因。当然,如何走这个路由,搭建这么一个大型的CDN系统,不在本文的讨论范围以内。

2.什么是智能DNS,什么是DNSPod
智能DNS的原理很简单:在用户解析一个域名的时候,判断一下用户的IP,然后跟DNS服务器内部的IP表匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP地址。
DNSPod是奶罩同学旗下的网站,提供免费的智能DNS服务。你只需要把你域名的DNS从原来的注册商改为DNSPod,马上就可以享用这个服务了。
注意了:DNSPod只提供域名的智能解析服务,不提供域名也不提供服务器,千万不要以为把你的域名转到DNSPod就能成为双线了。
第 2 章 前期准备

要继续后面的步骤,你必须要准备以下东西:
域名一个
服务器两台,电信网通各一台,一般的P4即可,内存2G以上
空白DVD R+光盘一张(或者CD-R 6张)
DVD刻录机一个(或者CD RW刻录机一个)

然后,你还需要去下载CentOS的ISO镜像
随便在下面的镜像地址挑一个,暂时没有国内的,建议挂一个迅雷慢慢下

http://ftp.ncnu.edu.tw/Linux/CentOS/5.0/isos/i386/
http://ftp.cse.yzu.edu.tw/pub/CentOS/5.0/isos/i386/
http://ftp.cs.pu.edu.tw/Linux/CentOS/5.0/isos/i386/
http://ftp.tcc.edu.tw/Linux/CentOS/5.0/isos/i386/
http://mirror.mirr4u.com/centos/5.0/isos/i386/
http://mirror.tini4u.net/centos/5.0/isos/i386/
http://mirror.averse.net/centos/5.0/isos/i386/

打开上面的网址后,你可以发现类似下面的文件名
CentOS-5.0-i386-bin-1of6.iso

CentOS-5.0-i386-bin-6of6.iso
这些是CD镜像,一共有6个,下载刻盘比较浪费资源,所以我建议下载下面这个DVD镜像
CentOS-5.0-i386-bin-DVD.iso
废话不多说,下载回来后刻盘即可。

之后,为资源做一个安排,所以下面将会做一个假设:
假设域名为naizhao.com
假设两台服务器,电信的服务器为A,网通的服务器为B
假设A服务器为内容服务器,B服务器为CDN服务器,B服务器所有需要的内容均从A服务器取得
假设A服务器的IP是1.1.1.1,B服务器的IP是2.2.2.2

OK,到这里后我们所需要的东西基本准备好了。ISO可能还没有下载好,不急,慢慢挂着,我们先来把域名的DNS设置好

(未完,待续)


推荐阅读
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 如何在虚拟机中实现Linux与Windows主机之间的文件夹共享
    为了在虚拟机中实现Linux与Windows主机之间的文件夹共享,首先需要确保Linux系统已安装VMware Tools。如果尚未安装,可以通过虚拟机软件提供的“安装VMware Tools”选项进行安装。安装完成后,通过配置共享文件夹设置,即可实现主机与虚拟机之间的文件互传。此外,建议检查虚拟机网络设置,确保网络连接正常,以提高文件传输的稳定性和速度。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
author-avatar
AK47GXF
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有