Squid 详细介绍2

原创 2004年08月19日 17:54:00

Squid详细介绍1

隔了很久才有空可以写这个经验体会,前一段时间一直在搞qmail,头大中,终于可以空下来了:)

先看squid的一个重要的,对我来说也是唯一需要配置的一个配置文件。选项非常多,当然,默认的squid.conf文件中对于每一个选项都有比较详细的说明,但是我还是想把我理解的以及必须要进行配置的选项罗列出来,以免过段时间自己都忘了^_^

以下的配置我是要向sina,sohu,163学习的web server的架构,试着自己去搭建一个这样的环境来看看效果到底如何。因此这里的squid不是用来做代理的,而是反向作为网站高速缓存。其实原理差不多,只是方向反一反而已,相信都能理解这点的。

使用的测试服务器为Dell 2650 双CPU至强2.4G 内存DDR 2G。OS为Freebsd 5.2.1(这里需要说明的是,从实际使用情况来看,squid跑在freebsd上的效果是最快最好的。这是由os的文件系统所决定的,千万不能用,solaris,感觉solaris的文件系统实在太慢,虽然非常稳定,而且跑多线程的效果是最好的。linux嘛~~~没有进行测试,不过感觉在freebsd之下,solaris之上。)

Squid.conf的几个重要参数的配置说明:

http_port 61.155.143.54:80 #Squid Server侦听的端口。假设我的主页的dns server 指到61.155.143.54上的,因此我必须让squid来侦听这个IP的这个端口。

cache_mem 32 MB #要额外提供多少内存给squid使用,这里的额外是指squid会将最常用的一些缓存放到这块内存中。这个指令也是我看了官方文档后才理解的。因为一开始从实际使用情况来看,我这边设32M的话,用top命令来查看一般会达到100M左右。这点让我让我很想不通,呵呵。然后就去看官方文档,发觉squid是这样来计算使用多少内存的:squid本身的进程大概10M-20M,然后下面我设的cache目录的大小是500M的话,那他放在内存里的hash索引大概需要20M左右,然后再加上这里设置的cache_mem的值。官方文档建议你的实际内存大小应该是这个squid所需要总内存的2倍以上。自己量力而为吧。cache_mem当然是越大越好了。

cache_dir ufs /usr/local/squid-54/var/cache 500 16 256 #设置squid存放cache目录的位置以及大小。第一个数字500是指目录的总大小为500M(默认为100M),第二个数字16是指第一级目录为16个,第三个数字256是指第二级目录为256个我个人觉得如果网站访问量大,并且内容很多的话,可以考虑将默认的100M改大一点,否则会报错。我就经历过,错误我忘了记录了(该死!)大致就是说超过Max的极限了,当时查了半天才找到罪魁祸首是这条指令,惭愧~~~。

cache_access_log none
cache_log none

cache_store_log none #我是将这些log记录都关了, 有需要的可以将它们打开。

acl managerIP src 10.10.10.10
acl ipcanbrows dst 10.10.10.0/24
#acl应该是squid配置里面最难理解也最需要花时间的地方了。应该说只需要修改很小的一部分就可以了,像这里我只是在原来的基础上加了2条记录,前面一条的意思是我定义了10.10.10.10为源路径,另外一条是指目的端是10.10.10.0/24这个网段。而managerIP,ipcanbrows随便取得名字。具体的规则需要下面的语句来定义。10.10.10.10就是本服务器的内网ip,而apache server的ip就在10.10.10.0/24这个网段里,不需要用外网ip,一定程度上节约了ip地址。

http_access allow manager managerIP ipcanbrows localhost #加上2个允许就可以了。高深的配置我觉得我也不需要,用户可以访问就达到目的了:)

httpd_accel_host virtual #由于我后面的apache server是基于ip来做虚拟主机的,因此这里需要设置成virtual。

httpd_accel_port 80 #http加速的端口,因为习惯等原因,还是将后面的apache server监听80端口。

httpd_accel_uses_host_header on #如果选了virtual的话,这里必须设置成on。

这里最多只列出了5%左右的选项,但是我配置的时候就只是用到了这些,因此,如果做网站加速的话,基本设置就是这些。当然需要更强劲的功能的话就需要好好读读squid的配置文件的文档了。

最后的步骤:

1. 改变var目录的权限:chown -R nobody var

2. 创建缓存目录:sbin/squid -z

3. 启动squid:bin/RunAccel & (这边我使用squid附带的启动脚本来启动squid,有个好处就是,如果squid的进程死了的话,这个脚本会自动启动squid,对于运行在线上的服务器来说,这点太重要了。

一些使用体会:

1. squid使用时间长了,速度会变慢,我的建议是每2小时kill掉squid 进程,RunAccel脚本会自动再启动的它。

2. 写一脚本,放进crontab中,每天凌晨4点左右把cache目录清空。

#!/bin/sh
# squid clean swap and restart script by marco lu
SQUID_DIR=/usr/local/squid-54/
PID_FILE=${SQUID_DIR}var/logs/squid.pid
CACHE_DIR=${SQUID_DIR}var/cache
PPID=`ps aux | grep -i squid-54 | grep -v grep|awk '{print $2}'`
kill -9 ${PPID} > /dev/null
kill -9 `cat ${PID_FILE}` > /dev/null
rm -rf $CACHE_DIR/*
${SQUID_DIR}sbin/squid -z > /dev/null
if [ $? -eq 0 ]
then
${SQUID_DIR}bin/RunAccel & > /dev/null
fi

 

水平有限,希望广大高手指点!!!

squid介绍及其简单配置

squid介绍及其简单配置 1.Squid是什么?   Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人 们需要下载的目标(object)的请求并适当地处理这...
  • num_one_is_me
  • num_one_is_me
  • 2016年09月19日 15:18
  • 679

Squid代理服务器的安装与配置 CentOS

 Squid代理服务器的安装与配置 CentOS 转自:http://www.cnblogs.com/mchina/p/3812190.html 一、简介 代理服务器英文全称是Proxy ...
  • yueguanyun
  • yueguanyun
  • 2016年08月06日 21:28
  • 984

Squid代理服务3.1版本的配置和使用简介

Squid是一个单进程的异步代理缓存服务器,支持HTTP,FTP,GOPHER,ICP等协议。通过配置,可以实现反向代理、透明代理的功能,并且支持缓存,是实现高性能网站的必备基础设施之一。通常部署在应...
  • zzulp
  • zzulp
  • 2014年01月02日 19:19
  • 6661

系统原理分析架构-四-squid(简介及正向代理)

一、squid简介 Squid Cache(简称为Squid)是HTTP代理服务器软件。Squid用途广泛的,可以作为缓存服务器,代理用户向web服务器请求数据并进行缓存,可以过滤流量帮助网络安全,...
  • tantexian
  • tantexian
  • 2014年10月16日 09:23
  • 79677

squid介绍及其简单配置

转载地址:http://linuxme.blog.51cto.com/1850814/372960 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律...
  • chengfangang
  • chengfangang
  • 2014年01月02日 15:46
  • 1235

squid 3.1详细配置(2)

上篇文章说了squid的安装 配置
  • caiwenguang1992
  • caiwenguang1992
  • 2014年04月21日 13:21
  • 1054

linux下配置squid 服务器,最简单使用方式

linux下配置squid 1、什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛...
  • unixtech
  • unixtech
  • 2016年11月16日 12:17
  • 5374

Squid配置之使用帐号密码验证

1. 安装squid 使用root用户进行操作。 先使用rpm检测是否已经安装了sqlid,如>> rpm –q squid 如未安装,可使用>> yum –install squid进行安装 ...
  • atco
  • atco
  • 2015年02月03日 13:56
  • 8856

使用squid搭建https透明代理

参考链接: http://wiki.squid-cache.org/Features/HTTPS https://www.tectut.com/2015/08/configure-squid-as-...
  • maoji
  • maoji
  • 2016年11月09日 05:06
  • 5269

squid3配置要点

squid3配置要点   首先需要apt-get update   然后安装apt-get install squid   配置和开启    vi /usr/local/squid/etc/squid...
  • bytxl
  • bytxl
  • 2014年05月18日 10:10
  • 1268
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Squid 详细介绍2
举报原因:
原因补充:

(最多只允许输入30个字)