zoukankan      html  css  js  c++  java
  • 企业——squid的应用及CDN架构的搭建

    一.squid 的介绍

      Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。

      Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

    二.CDN 的介绍

      CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
    中文名 CDN 含义内容分发网络
      CDN的基本原理是:广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求
      基本思路是:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

    三.squid代理的作用

      通过缓存的方式为用户提供Web访问加速  对用户的Web访问进行过滤控制

    四.工作流程

      当代理服务器中有客户端需要的数据时:

        a. 客户端向代理服务器发送数据请求;

        b. 代理服务器检查自己的数据缓存;

        c. 代理服务器在缓存中找到了用户想要的数据,取出数据;

        d. 代理服务器将从缓存中取得的数据返回给客户端。

      当代理服务器中没有客户端需要的数据时:

        a.客户端向代理服务器发送数据请求;

        b.代理服务器检查自己的数据缓存;

        c.代理服务器在缓存中没有找到用户想要的数据;

        d.代理服务器向Internet 上的远端服务器发送数据请求;

        e.远端服务器响应,返回相应的数据;

        f.代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

          

    五.Squid主要组成部分

      服务名:squid
      主程序:/usr/sbin/squid
      配置目录:/etc/squid
      主配置文件:/etc/squid/squid.conf
      监听tcp端口号:3128
      默认访问日志文件:/var/log/squid/access.log

    六.squid常用配置选项

            

    七.squid软件的基本用法(FQ服务)

    1.配置另外一台主机命名为squid-server的服务器,搭建合适的yum源,下载squid服务

          

    2.编辑squid的配置文件

          

          

          56.允许所有人访问    59.网络接口为3128    62.缓存的默认的路径

    3.重启squid服务并且关闭火墙

          

    4.打开另外一台不能上网主机的网页,把代理修改为 squid 服务器,就可以上网了

          

          

    八.CDN架构的搭建—使用squid的配置

    1.编辑配置文件,写入要要代理的服务器

          

                59.网络接口80,注明是虚拟设备,虚拟网络接口    60.访问指向100主机(前面的apache主机),proxy-only只做代理

    2.有轮询效果的配置

      59 http_port 80 vhost vport

      60 cache_peer 172.25.254.245 parent 80 0 proxy-only name=web1 round-robin
      61 cache_peer 172.25.254.249 parent 80 0 proxy-only name=web2 round-robin
      62 cache_peer_domain web1 web2 www.westos.com

      当访问时本服务器时,每刷新一次会在两台服务器之间进行跳转  round-robin 表示轮询

    3.添加权重的轮询配置

      59 http_port 80 vhost vport
      60 cache_peer 172.25.254.245 parent 80 0 proxy-only name=web1 round-robin weight=2 
      61 cache_peer 172.25.254.249 parent 80 0 proxy-only name=web2 round-robin
      62 cache_peer_domain web1 web2 www.westos.com
      

      weight=2意思是当访问本服务器时,245内容刷新出现两次,所以每3次一个循环。

    4.解析squid服务器的ip,访问内容时出现的是被代理服务器(apache服务器)的发布内容

     
  • 相关阅读:
    Go基础篇【第2篇】: 内置库模块 fmt
    Go基础篇【第1篇】: 内置库模块 OS
    JavaScript学习基础篇【第1篇】: JavaScript 入门
    Python基础篇【第8篇】: Socket编程(二)SocketServer
    Python基础篇【第7篇】: 面向对象(1)
    APP爬虫之Appium使用
    python操作MongoDB
    MySQL性能调优
    ubuntu16.04中启动anaconda图形化界面
    linux 在命令行中通过conda使用anaconda
  • 原文地址:https://www.cnblogs.com/wf-aiyouwei/p/10632129.html
Copyright © 2011-2022 走看看