其他常用的设置
1.cache_swap_low 与 cache_swap_high命令
当PROXY CACHE的容量不断的扩增的时候,虽然可以提高缓冲的命中率(HIT RATE),但是当缓冲容量达到缓冲目录的95%以上,系统会呈现及其不稳定的现象,因为缓冲区开始产生大量的置换操作,为了维持缓冲区数据有效率的置换,可调整CACHE SWAP的水平。可使用CACHE_SWAP_HIGHT命令限制缓冲的增长最高限度(缓冲目录的百分比);用CACHE_SWAP_LOW命令可设置,当缓冲的容量达到CACHE_SWAP_HIGH所设的百分比值时,开始删除缓冲数据,直到缓冲的容量下降到CACHE_SWAP_LOW所设的百分比值,其用法如下:
#用法:cache_swap_low ( percent,0-100)
#用法:cache_swap_high ( percent,0-100)
SQUID默认值是CACHE_SWAP_LOW 90,CACHE_SWAP_HIGH 95,这二个值只适合小型的网络,如果是大中型网络,建议调低这两个值,象下面这样在注释旧设置后,添加CACHE_SWQP_LOW和CACHE_SWAP_HIGH的新设置值
#cache_swap_low 90
SQUID常用的参数
当用上两节介绍的命令设置了SQUID之后,SQUID代理服务器基本可以运行的很流畅了,不过前述讲的只是配置方法,如果要数量的控制SQUID的运行,还要熟悉SQUID DEAMON的运行参数
1 参数-z
当设置好SQUID.CONF文件之后,第一次执行SQUID之前,记住先用命令squid -z制作缓冲区目录,再以ROOT身份用如下方式启动SQUID,方可提供代理服务。
SQUID &
或者/ETC/RD.D/INIT.D/./SQUID START
补充:
SQUID的参数-z,前面已经提过可以用来制作缓冲区目录,此命令是用于制作全新的缓冲目录,如果缓冲区目录里面已经有相当多的旧缓冲数据,参数-z就无法重新知错缓冲区目录,可以FORMAT缓冲区的方式重新制作缓冲区目录,参考后面的章节。参数-z只能在第一次制作缓冲区目录的时候使用,以后再启动SQUID DEAMON时就不需要再加这个参数了,但是在重新规划缓冲分区之后,还得再用一次SQUID -z命令
2 参数-k reconfigure
重新启动SQUID是件大事,因为通常会导致停止提供代理服务,因此,如果对SQUID.CONF配置文件做了修订之后,通常采用重新读取配置文件的方式,以确保SQUID持续提供服务。要重新启动SQUID或重新读取配置文件,可以使用一下的命令:
/etc/rd.d/init.d/./squid restart
(我的经验是使用 service squid restart)
或:
/usr/sbin/squid -k reconfigure
(如果squid加入PATH,那么可以省略目录了)
或:
Kill Hup 'cat /var/run/squid.pid'
说明:
(1)/ETC/RD.D/INIT.D/./SQUID RESTART:是 Squid Deamon的标准启动程序,但是此程序会先停止SQUID deamon再重新启动SQUID DEAMON。 所以,此方法只适合于小型网络,不适合大型的网络。
(2)/USR/SBIN/SQUID -K RECONFIGURE:使用SQUID 的 -k参数,其目的是使squid重新读取配置文件,但是squid deamon不会因此停止。此外如果修改了配置文件CACHE_MEM,这条命令没有作用,那么可以使用 SQUID RESTART,这种现象可以在/var/log/squid/cache.log文件里观察。
(3)kill HUP 'cat /var/run/squid.pid':此命令的功能和/usr/sbin/squid -k reconfigure一样,不过还是请使用 squid -k reconfigure
(4)Squid执行时,process的pid值(process identity value) 默认放置在/var/run/squid.pid文件里,可以在/etc/squid.conf文件里变更放置Squid pid文件的路径,其定义如下:
#用法:pid_filename squid pid文件的路径
Pid_filename /var/run/squid.pid
3 参数:-k kill 和-k shutdown
如果要停止SQUID DEAMON,可以使用下列方式:
# /etc/rd.d/init.d/./squid stop;关闭LOG后停止服务
#squid -k shutdown ;关闭LOG后停止服务
#kill 'cat /var/run/squid.pid';直接停止服务
#squid -k kill;直接停止服务
说明:
(1)# /etc/rd.d/init.d/./squid stop:是RPM格式的squid的标准停止squid服务的程序,采用这种方法会先关闭LOG和DNSSERVER,在关闭SQUID的守护进程
(2)#squid -k shutdown 作用和(1)相同
(3)#kill 'cat /var/run/squid.pid';直接杀死SQUID deamon进程,而不关闭log文件和停止DNSSERVER程序,是相当危险的方法
(4)和(3)相同
4 参数-k check
如果哦要检测SQUID是否可以正常运行,可以使用下列方式:
#/etc/rc.d/init.d/./squid status;检查SQUID是否正常运行
#/usr/sbin/squid -k check;检查SQUID 是否正常运行
(1) #/etc/rc.d/init.d/./squid status;是RPM格式SQUID的标准运行状态检查命令
(2)#/usr/sbin/squid -k check;是SQUID默认的检查代理服务器运行的方法,作用和(1) 一样
5参数-k rotate
如果要手动方式指定SQUID的三种LOG文件做轮换,可以使用这个参数,用法如下:
#/usr/sbin/squid -k rotate;对LOG文件做轮换
说明:
SQUID的重要LOG文件有ACCESS.LOG,STORE.LOG,CACHE.LOG三种,所谓的轮换就是在日志增长到太大的时候,重新命名一组新的文件开始使用
(在新的版本里面似乎这是默认的配置,不需要做改动,而且squid还会很智能的把以前的日志文件使用压缩工具家压缩)
6 squid deamon的参数的使用方法
其他要使用的参数不是很多,读者可以参照MAN手册完成
用法:
SQUID [-dhsvzCDFNRVYX] [-f config-file] [-[au] port] [-k signal]
-a port;定义SQUID的传输端口,默认是3128
-d level;将调试结果写入stderr
-f file;自定义squid.conf文件路径
-h;列出SQUID 的使用方法
-k reconfigure|rotate|shutdown|interrupt|kill|debug|check|parse
-s;允许将SQUID的运行状态计入SYS LOG里
-u port;定义ICP端口号 默认是3130
-v:显示版本
-z:建立缓冲目录
-C:不捕捉失败信息
-D:关闭/启动DNS测试
-F:不提供服务,直到重新建立STORE
-N:不使用DEAMON
-R:不设置REUSERADD ON PORT
-V:设置VIRTUAL HOST HTTPD-ACCELERATOR
-X:强制完整调试
-Y:在快速RELOAD时,只返回UDP_HIT或UDP_MISS_NOFETCH