Squid是一种用来缓冲Internet数据的软件。
它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。
Squid将数据元缓存在内存中,同时也缓存DNS查询的结果,除此之外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP(轻量Internet缓存协议),Squid能够实现层叠的代理阵列,从而最大限度地节约带宽。
Squid由一个主要的服务程序squid,一个DNS查询程序dnsserver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出预先指定数目的dnsserver进程,而每一个dnsserver进程都可以执行单独的DNS查询,这样一来就大大减少了服务器等待DNS查询的时间。
1、初始化在 squid.conf 里配置的 cache 目录
- #squid/sbin/squid -z //第一次启动squid服务时必须输入此命令
2、检查 squid.conf 的 语法和配置。
- #squid/sbin/squid -k parse
3、在前台启动squid,并输出启动过程。
- #squid/sbin/squid -N -d1
如果有到 ready to server reques,恭喜,启动成功。
然后 ctrl + c,停止squid,并以后台运行的方式启动它。
4、启动squid在后台运行。
- #squid/sbin/squid -s
这时候可以 ps -A 来查看系统进程,可以看到俩个 squid 进程。
5、停止 squid
- #squid/sbin/squid -k shutdown
6、重引导修改过的 squid.conf
- #squid/sbin/squid -k reconfigure
7、把squid添加到系统启动项
添加如下行:
- #vi /etc/rc.d/rc.local
- /usr/local/squid/sbin/squid -s
当然,并不是每个人都喜欢这种启动方式,你可以用你最习惯的方式;或者把它安装为服务。
8、查看你的日志文档。
- #more /var/logs/squid/access.log | grep TCP_MEM_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到内存中,并返回给访问用户。
- #more var/logs/squid/access.log | grep TCP_HIT
该指令可以看到在squid运行过程中,有那些文件被squid缓存到cache目录中,并返回给访问用户。
- #more /var/logs/squid/access.log | grep TCP_MISS
该指令可以看到在squid运行过程中,有那些文件没有被squid缓存,而是现重原始服务器获取并返回给访问用户。
9、
- squid -k rotate
轮换squid的日志文件/var/log/squid,Squid代理服务器日志文件
的增长速度是惊人的,很容易点球满磁盘空间导致系统不能正常工作,甚至是死机.
为了解决日志文件增长太快的问题,squid采用了”轮换”的方法.在squid.conf中可以通过logfile_rotate来设置文件轮换的个数,如:
- logfile_rotate 10
轮换的工作一般用crontab定时器完在周期性的日志轮换,例如每周六凌晨2:00进行日志轮换,则执行如下命令:
- #crontab -e
- 0 2 * * 6 squid -k rotate
10、 Squid默认的错误提示信息为英文,对于英文不好的用户来说,实在不方便.在/etc/squid/squid.conf里添加如下:
error_directory /usr/share/squid/errors/Simplify_Chinese 即可显示中文的错误提示。
11、
*取得squid运行状态信息:
- squidclient -p 80 mgr:info
*取得squid内存使用情况:
- squidclient -p 80 mgr:mem
*取得squid已经缓存的列表:
- squidclient -p 80 mgr:objects. use it carefully,it may crash
*取得squid的磁盘使用情况:
- squidclient -p 80 mgr:diskd
*强制更新某个url:
- squidclient -p 80 -m PURGE http://www.hacder.com
*更多的请查看:
- squidclient -h
或者
- squidclient -p 80 mgr:
12. 列出当前可用的命令:
- #squidclient -p 80 mgr:menu
- mem Memory Utilization public
- cbdata Callback Data Registry Contents public
- events Event Queue public
- squidaio_counts Async IO Function Counters public
- coss COSS Stats public
- diskd DISKD Stats public
- config Current Squid Configuration hidden
- ipcache IP Cache Stats and Contents public
- fqdncache FQDN Cache Stats and Contents public
- idns Internal DNS Statistics public
- external_acl External ACL stats public
- http_headers HTTP Header Statistics public
- menu This Cachemanager Menu public
- shutdown Shut Down the Squid Process hidden
- offline_toggle Toggle offline_mode setting hidden
- info General Runtime Information public
- filedescriptors Process Filedescriptor Allocation public
- objects All Cache Objects public
- vm_objects In-Memory and In-Transit Objects public
- openfd_objects Objects with Swapout files open public
- pending_objects Objects being retreived from the network public
- client_objects Objects being sent to clients public
- io Server-side network read() size histograms public
- counters Traffic and Resource Counters public
- peer_select Peer Selection Algorithms public
- digest_stats Cache Digest and ICP blob public
- 5min 5 Minute Average of Counters public
- 60min 60 Minute Average of Counters public
- utilization Cache Utilization public
- histograms Full Histogram Counts public
- active_requests Client-side Active Requests public
- store_digest Store Digest public
- storedir Store Directory Stats public
- store_check_cachable_stats storeCheckCachable() Stats public
- store_io Store IO Interface Stats public
- pconn Persistent Connection Utilization Histograms public
- refresh Refresh Algorithm Statistics public
- delay Delay Pool Levels public
- forward Request Forwarding Statistics public
- client_list Cache Client List public
- asndb AS Number Database public
- server_list Peer Cache Statistics public
《Squid 权威中文教程》我已经上传到“我的资源”。 地址是 http://spring21st.download.csdn.net/