`
zhengdl126
  • 浏览: 2538729 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

squid 安装配置

阅读更多

Squid集群做CDN全网加速http://www.php-oa.com/2007/12/27/squid-dnspod.html
http://bbs.chinaunix.net/viewthread.php?tid=798564     squid-2.6.STABLE1-20060726之Web加速实做
Squid--Linux下的一个优秀代理服务器软件使用详解  http://www.phpchina.com/html/87/n-33787.html

 

http://www.phpchina.com/html/87/n-33787.html
http://wiki.ubuntu.org.cn/Squid%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3
http://blog.s135.com/book/squid/ Squid中文权威指南

 

http://xuliangyong.iteye.com/blog/606980  利用squid refresh_pattern缓存图片

 

 

http://linux.chinaunix.net/techdoc/develop/2008/07/19/1018442.shtml    Squid优化

http://hi.baidu.com/jackbillow/blog/item/09cd126094fa5dd88cb10d32.html

 


http://www.hiadmin.com/squid-3%E5%8A%A0%E9%80%9F%E6%A8%A1%E5%BC%8F%E9%85%8D%E7%BD%AE/     加速模式配置

 



http://www.skyhe.com/blog/bloget/home/review.asp?ID=600

http://bbs.winos.cn/thread-48606-1-7.html由于最近在国外部署一台Squid反向代理加速,分享一下,Windows下Squid的配置过程

http://bbs.cd-dns.com/read-htm-tid-8037-page-e-fpage-2.html   推荐

http://blog.sina.com.cn/s/blog_5058ff560100e040.html

 

 

对普通的单位上网用户,Squid可充当代理服务器;而对Sina,NetEase这样的大型站点,Squid又充当WEB加速器。


主服务器群,然后在利用Squid逆向缓存web80端口来加速自己的网站.各大门户网站象163,sina,chinaitlab之类基本都是使用的这种技术,好处是大大的有。比如加速了网络和可以防黑客(因为他们见到的都是CDN的主机)

Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

Squid能够缓存任何数据吗?不是的。象缓存信用卡帐号、可以远方执行的scripts、经常变换的主页等是不合适的也是不安全的。Squid可以自动的进行处理,你也可以根据自己的需要设置Squid,使之过滤掉你不想要的东西。

Squid有好多高级的功能,如做WEB服务器的高速缓存,做二级代理服务器,做为防火墙,以及怎样设定过滤规则等


Squid是全功能的代理服务器软件

 

 

 

 

 

================= 安装配置

 

 

 

安装部分:
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE26.tar.gz
yum -y install gcc gcc-c++ automake autoconf libtool make
yum -y install perl
tar -zxf squid-3.0.STABLE26.tar.gz -C /usr/local/src/;cd /usr/local/src/squid-3.0.STABLE26

./configure --prefix=/usr/local/squid-3.0.STABLE26/
make && make install
cd /usr/local/squid-3.0.STABLE26/
chown -R nobody:nobody var/

#拷贝原有的配置文件进行配置:
scp 192.168.1.122:/usr/local/squid/etc/{ssc.conf,squid.conf} etc/
sed -i "s/\/usr\/local\/squid/\/usr\/local\/squid-3.0.STABLE26/g" etc/squid.conf

#初始化:
/usr/local/squid-3.0.STABLE26/sbin/squid -z
#开启squid服务:
/usr/local/squid-3.0.STABLE26/sbin/squid

#修改防火墙:
vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -i eht1 -p tcp --dport 80 -j ACCEPT\
#重启防火墙:
/etc/init.d/iptables restart

#添加squid开机启动
echo "/usr/local/squid-3.0.STABLE26/sbin/squid" >> /etc/rc.local

#Squid修改配置后的重启方法:
/usr/local/squid-3.0.STABLE26/sbin/squid -k reconfigure

 

 

 

 

squid -k shutdown  停止

测试配置是否正确,并根据错误修改配置文件
# /usr/sbin/squid  -k parse

 

================= squid.conf 详细说明

 

 

visible_hostname squid1.ihompy.com
#设定squid的主机名,如无此项squid将无法启动


http_port 80 accel vhost vport
#设定squid为accel加速模式,vhost必须要加.否则将无法将主机头转发至后端服务器,访问时就会出现无法找到主机头的错误

也可以不启用accel加速模式:http_port 80 vhost vport


cache_peer www.contentchina.com parent 80 0 no-query originserver name=contentchina
cache_peer bbs.contentchina.com parent 80 0 no-query originserver name=bbs
cache_peer www.ihompy.com parent 80 0 no-query originserver name=ihompy
#定义不同的父节点 ,将节点设为no-query以及originserver说明这些节点是实际服务器

 

 


cache_peer_domain contentchina www.contentchina.com
cache_peer_domain bbs  bbs.contentchina.com
cache_peer_domain ihompy www.ihompy.com
#设定不同域名转发到不同的cache_peer上 ,如果没有这项.不同域名的域名可能被分发到同一台服务器上.

 

 

--------170,171是squid

#总导航:在本机127.0.0.1处理
cache_peer 127.0.0.1 parent 8080 0 originserver name=wwwnav
cache_peer_domain wwwnav 2.ss.com
cache_peer_domain wwwnav 2.tt.com
cache_peer_domain wwwnav 120.53.56.170
cache_peer_domain wwwnav 2.ww.com

 

#[集群一]:当用户访问http://120.53.56.170/tst/account/login.html实际是请求到:http://1.1.1.81/tst/account/login.html
cache_peer 1.1.1.81 parent 80 0 no-query originserver name=test1bl
cache_peer_domain test1bl 120.53.56.170

#[集群二]
cache_peer 1.1.1.83 parent 80 0 no-query originserver name=test2bl
cache_peer_domain test2bl 120.53.56.171

---------

 

 


acl all src 0.0.0.0/0.0.0.0
http_access allow all
#允许所有客户端访问

 

--------- 权限设置

 

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
#acl all src all

acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
acl localnet src 192.168.0.0/16    # RFC1918 possible internal network

acl SSL_ports port 443
acl Safe_ports port 80        # http
#acl Safe_ports port 8080        # lt http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow all
icp_access allow localnet
icp_access allow all

htcp_access allow localnet
htcp_access allow all

 

---------

 

 


cache_log /var/log/squid/cache.log
#记录日志
#***********ACL存取控制*************
acl QueryString url_regex \.php?
#***********缓冲存取控制*************
no_cache deny QueryString
#不对符合QueryString的ACL内容进行缓冲

 

 


#***********性能优化配置 *************

hierarchy_stoplist cgi-bin ?
cache_mem 1024 MB
cache_dir ufs /usr/local/squid-3.0.STABLE26/var/cache 10240 16 512
access_log /usr/local/squid-3.0.STABLE26/var/logs/access.log squid
coredump_dir /usr/local/squid-3.0.STABLE26/var/cache
######
maximum_object_size 4096 KB #大于此容量的对象将不会被保存在磁盘上 ,默认大小是4M,如果squid服务器用于缓冲flash等大型文件,建议将此值变大.否则过大的文件在下次重启后将需要重新获取
minimum_object_size 0 KB
maximum_object_size_in_memory 1024 KB #最大位于内存中的对象的大小,默认大小是8K,如果服务器内存很大.可以适当提高此值的大小,建议根据网站的80%图片的大小来定.或者根据WEB服务器实际存取文件中最常访问的文件大小来定制
acl static_content urlpath_regex -i \.js$ \.css$ \.html$ \.png$ \.gif$ \.swf$ \.jpg$
no_cache deny !static_content  #no_cache deny ** --设置不记入缓存
######

cache_store_log /usr/local/squid-3.0.STABLE26/var/logs/store.log
refresh_pattern ^ftp:            1440    20%    10080
refresh_pattern ^gopher:        1440    0%    1440
refresh_pattern -i (/cgi-bin/|\?)    0    0%    0
refresh_pattern .            0    20%    4320
icp_port 3130

 

 

 

---------- refresh_pattern 缓存时间

 

 


refresh_pattern 的语法是:
refresh_pattern [-i] regexp min percent max [options]
min, max的单位是分钟,percent就是百分比。
refresh_pattern 的算法如下:(当前时间定义为CURRENT_DATE)
1) If ((CURRENT_DATE-DATE(就是LM里定义的时间)) < min),cache是新鲜的
2) else if ((CURRENT_DATE-DATE) < (min + (max-min)*percent ),cache是新鲜的
3) else cache是过期的
cache过期就需要从后面server取新鲜内容。

如果希望页面一进入cache就不删除,直到被主动purge掉为止,可以加上ignore-reload选项
一般情况可以使用 reload-into-ims。
举例:

refresh_pattern -i \\.gif$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.jpg$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.png$   1440   50%   2880     ignore-reload

refresh_pattern -i \\.mp3$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.wmv$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.rm$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.swf$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.mpeg$   1440   50%   2880     ignore-reload
refresh_pattern -i \\.wma$   1440   50%   2880     ignore-reload

refresh_pattern -i \\.css$ 10 50% 60 reload-into-ims
refresh_pattern -i \\.js$ 10 50% 60 reload-into-ims
refresh_pattern -i \\.xml$ 10 50% 30 reload-into-ims


reload-into-ims  该选项让squid在确认请求里,以no-cache指令传送一个请求。换句话说,squid在转发请求之前,对该请求增加一个If-Modified-Since头部。注意这点仅仅在目标有Last-Modified时间戳时才能工作。外面进来的请求保留no-cache指令,以便它到达原始服务器。

 

----------

分享到:
评论

相关推荐

    squid安装配置步骤

    在Linux环境下安装配置Squid,可以按照以下步骤进行: 1. **获取Squid软件包**: 首先,你需要从FTP服务器下载Squid的安装包。在本例中,可以从地址`ftp://168.1.6.23/incoming/bin/`下载名为`squid.tar`的文件。 ...

    linux下squid的安装,配置,卸载及SNMP的安装配置

    在本文中,我们将详细介绍如何在Linux系统中安装、配置、卸载Squid,以及安装和配置SNMP(简单网络管理协议)。 **Squid的卸载** 1. 首先,通过`rpm -qa | grep squid`命令检查Squid是否已安装。如果显示Squid的...

    SQUID 原理分析,安装配置

    本文将详细介绍SQUID的基本原理、安装配置步骤及其在Linux环境下的应用。 **SQUID原理** SQUID的核心功能是作为HTTP代理服务器,它通过缓存互联网上的静态内容(如图片、CSS、JavaScript文件等),减少对原始...

    squid配置https

    2. **编辑 Squid 配置文件** (`squid.conf`): - 启用 HTTPS 代理端口,并指定证书和私钥路径。 ```plaintext https_port 443 cert=/root/http.crt key=/root/http.key ``` - 设置默认站点。 ```plaintext ...

    Linux下Squid安装步骤

    7.Squid.conf 配置实例一个简单的Squid配置示例可能包含允许所有内部IP访问互联网的规则: ```bash acl localnet src 192.168.0.0/16 # RFC1918 - local private network http_access allow localnet ``` 8.Squid....

    Squid离线安装包以及离线安装步骤和配置

    公司项目部署需要在服务器上部署,部署的时候要求离线操作,不能联网,所以不能yum install squid来安装squid 于是从网上下了最新版本的squid离线包,进行离线安装,这是我参照了网上的安装方法,解决了安装中的一些...

    squid编译安装及配置详解.pdf

    Squid 编译安装及配置详解 Squid 是一个流行的开源代理服务器软件,能够缓存常见的 Internet 对象,减少网络带宽的使用,提高用户的访问速度。本资源将指导用户从源代码包编译安装 Squid,并对其进行基本配置。 一...

    squid 配置缓存服务器

    ** squid 配置缓存服务器** Squid 是一个广泛使用的开源 HTTP 代理服务器和缓存系统,它能够显著提高网络访问速度,减轻服务器负载,同时提供内容过滤、访问控制等功能。在本文中,我们将深入探讨如何配置 Squid ...

    squid3.0及配置手册

    配置手册"Squid.3.0配置手册.pdf"包含了Squid所有关键配置选项的详细解释,这对于正确配置和管理Squid至关重要。以下是一些核心配置选项: - **cache_dir**:定义缓存存储的位置和结构,例如`cache_dir ufs /var/...

    Linux+下Squid安装步骤

    1.Net-snmp 获取与安装 2.Net-snmp 的配置 ...2.Squid 获取与安装 3.Squid 配置 4.Squid 测试 5.Squid 常用命令 6.Squid 其他 7.Squid.conf 配置实例 8.Squid.conf 配置说明 9.Squid命中率分析 10.Squid 排错

    Squid 反向代理配置

    在安装前,确保已正确配置好`yum`源,以便能够顺利下载并安装Squid。具体配置方法此处不赘述,如有疑问,可通过搜索引擎或访问技术论坛查找相关教程。 ##### 2. 配置Squid 接下来,需要编辑Squid的主要配置文件`/etc/...

    squid和nginx配置正向代理访问API接口.rar

    在这个场景中,"squid"和"nginx"都是流行的开源软件,它们可以被配置为正向代理来转发请求到API接口。下面我们将深入探讨这两个工具以及如何配置它们。 首先,让我们了解一下 Squid。Squid 是一个高性能的代理缓存...

    Linux Squid 代理修改配置

    二、Squid配置文件 Squid的主要配置文件是 `/etc/squid/squid.conf`。初次安装时,这个文件可能包含大量注释,你可以根据实际需求修改这些配置。 三、修改基本配置 1. **监听端口**:默认情况下,Squid监听3128端口...

    squid配置说明文档

    squid的配置说明 squid:一款在linux下的代理服务器软件 功能相当强大

    squid中文配置指南

    squid中文配置指南 包括配置步骤等信息。不过是介绍在linux和unix上的。

    Squid代理服务器配置

    编译过程中通常包括运行configure脚本以配置安装路径,执行make all进行编译,最后使用make install来安装Squid。安装完成后,Squid的配置文件通常位于/etc/squid/squid.conf,这是管理和定制Squid行为的主要文件。 ...

    Linux下Squid配置指南

    ### Linux下Squid配置指南 #### 概述 本文档旨在详细介绍如何在Linux环境下配置Squid代理服务器。Squid是一款广泛使用的开源代理服务器软件,主要用于缓存和转发HTTP请求,以此来提高网络效率并减少对外部网络的...

Global site tag (gtag.js) - Google Analytics