您的位置:首页 > 运维架构 > 反向代理

squid资料整理

2009-09-14 15:36 465 查看
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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: