最新公告
  • 欢迎您光临新鸿源码,本站拥有最全面的源码模板资源,是国内最专业的优质源码模板下载平台!立即加入我们
  • 智能解析 + Nginx反向代理,自建CDN加速节点

    买VPS就像“xidu”一样,根本停不下来呀有木有?如果你手里已经有一打VPS,不知道用来干嘛,不妨一起来研究下如何自建CDN,如《CentOS安装Fikker 缓存,自建CDN加速》,Fikker非常方便,功能也很强大,不过免费版不支持页面缓存、也不支持HTTP/2,我们也可以用Nginx反向代理实现自建CDN。

    名词概念

    智能解析域名智能解析是指域名解析服务器根据来访者的IP类型,对同一域名作出相应不同解析。对IP来自电信的访问者,将域名解析到该域名对应IP地址为电信的服务器上。对IP来自网通的访问者,将域名解析到该域名对应IP地址为网通的服务器上。以保证访问者不因网通电信线路瓶颈而造成网速慢。

    反向代理:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

    CDN:CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

    准备工作

    • 智能解析:推荐使用CloudXNS或DNSPOD之类的。
    • VPS 3台以上

    安装Nginx

    需要在所有CDN服务器节点安装Nginx,推荐使用OneinStack,如何安装Nginx自行参考脚本官网就行了。

    如果您都不想使用,可以试试一键Nginx安装包(适用于Centos 7、Deebian 8),执行下面的命令安装即可。

    wget https://raw.githubusercontent.com/helloxz/nginx-cdn/master/nginx.sh
    chmod +x nginx.sh && ./nginx.sh
    

    反向代理配置

    反向代理通俗点你把它理解成CDN节点就行了,这里用4台服务器作为解释,

    • 源站:192.168.1.100,就是网站数据真实存放的地方
    • CDN1:192.168.1.101(电信节点)
    • CDN2:192.168.1.102(联通节点)
    • CDN3:192.168.1.103(移动节点)

    假如我需要对www.xinhongit.com搭建CDN节点,数据放在192.168.1.100,需要先修改hosts指向,告知CDN节点从那里去获取网站数据,也就是回源地址,需要在CDN1/CDN2/CDN3做如下修改:

    vi /etc/hosts
    192.168.1.100   www.xinhongit.com
    

    分别在CDN1/CDN2/CDN3下创建nginx配置文件xinhong.com.conf

    #创建缓存目录
    mkdir -p /data/wwwroot/caches/www.xinhongit.com
    #设置缓存目录权限
    chown -R www:www /data/wwwroot/caches/www.xinhongit.com
    #创建xiaoz.me.conf
    vi /usr/local/nginx/conf/vhost/xinhongit.com.conf
    

    xinhongit.com.conf中添加下面的内容,缓存目录/缓存时间请根据实际情况调整,后面会详细说明各参数含义。

    proxy_cache_path /data/wwwroot/caches/www.xinhongit.com levels=1:2 keys_zone=xinhong:50m inactive=30m max_size=50m;
    server {
        listen 80;
        server_name www.xinhongit.com;
        charset utf-8,gbk;
            location / {
            proxy_set_header Accept-Encoding "";
               proxy_pass https://www.xinhongit.com;
               proxy_redirect off;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_cache xiaoz;
               proxy_cache_valid  200 304  30m;
               proxy_cache_valid  301 24h;
               proxy_cache_valid  500 502 503 504 0s;
               proxy_cache_valid any 1s;
               proxy_cache_min_uses 1;
               expires 12h;
        }
    }
    
    • /data/wwwroot/caches/www.xinhongit.com:为缓存目录
    • levels:指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母。
    • keys_zone=xinhong:50m:为缓存空间起个名字,这里取名为“xinhong”,后面的50m指内存缓存空间
    • inactive=30m:如果30分钟内该资源没有被访问则删除
    • max_size=50m:指硬盘缓存大小为50MB
    • proxy_cache_valid:指定状态码缓存时间,前面写状态码,后面写缓存时间。

    最后别忘了重载nginx使配置生效,如果使用的oneinstack直接输入命令:service nginx reload,如果是xiaoz一键脚本输入:/usr/local/nginx/sbin/nginx -s reload,如果有报错,可以贴出报错信息一起讨论下。

    智能解析

    假如您上面CDN1/CDN2/CDN3三个CDN节点都配置好了,在CloudXNS后台,将不同的运营商指向不同的节点,使其达到分发和缓存加速效果,如下截图。

    其它说明

    解析后可以使用超级ping工具ping.chinaz.com测试各地解析是否生效,也可以本地修改hosts访问测试是否正常,同时分享下新鸿模板(www.xinhongit.com)的完整CDN配置:

    proxy_cache_path /data/wwwroot/caches/www.xinhongit.com levels=1:2 keys_zone=xinhong:50m inactive=30m max_size=50m;
    server {
        listen 443 ssl http2;
        ssl_certificate /data/ssl/www.xiaoz.me/www.xinhongit.com.crt;
        ssl_certificate_key /data/ssl/www.xinhongit.com/www_xinhongit_com.key;
        ssl_session_timeout 1d;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        ssl_dhparam /data/ssl/dhparam.pem;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
        ssl_prefer_server_ciphers on;
    
        ssl_stapling on;
        ssl_stapling_verify on;
    
        server_name www.xinhongit.com;
        access_log /data/wwwlogs/xinhongit.com_nginx.log combined;
    
        charset utf-8,gbk;
            location / {
            proxy_set_header Accept-Encoding "";
               proxy_pass https://www.xinhongit.com;
               proxy_redirect off;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_cache xiaoz;
               proxy_cache_valid  200 304  30m;
               proxy_cache_valid  301 24h;
               proxy_cache_valid  500 502 503 504 0s;
               proxy_cache_valid any 1s;
               proxy_cache_min_uses 1;
               expires 12h;
        }
    }
    server {
        listen 80 default_server;
        return 301 https://$host$request_uri;
    }
    

    总结

    以上教程需要一点linux基础,如果您手里有不少闲置CDN,可以折腾试试,若有任何疑问欢迎留言讨论,原创文章转载请注明。

    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服![email protected]
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有新币奖励和额外收入!

    新鸿模板 » 智能解析 + Nginx反向代理,自建CDN加速节点

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    新鸿源码
    一个高级程序员模板开发平台

    发表评论

    • 138会员总数(位)
    • 1071资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1257稳定运行(天)

    新鸿源码XINHONGIT.COM提供国内最优质的资源集合

    开通SVIP 了解详情