高性能HTTP加速器Varnish(管理维护篇)

一、varnishd指令
Varnish启动的命令是/usr/local/varnish/sbin/varnishd,此命令参数较多,用法比较复杂,在命令行执行“/usr/local/varnish/sbin/varnishd –h”即可得到varnishd的详细用法,表2-6列出了varnishd常用参数的使用方法和含义。
表1

 

  1. 命令参数 参数含义  
  2. -a address:port 表示varnish对httpd的监听地址及其端口  
  3. -b address:port 表示后端服务器地址及其端口  
  4. -d 表示使用debug调试模式  
  5. -f file 指定varnish服务器的配置文件  
  6. -p param=value 指定服务器参数,用来优化varnish性能  
  7. -P file Varnish进程PID文件存放路径  
  8. -n dir 指定varnish的工作目录  
  9. -s kind[,storageoptions] 指定varnish缓存内容的存放方式,常用的方式有:“-s file,<dir_or_file>,<size>”。  
  10. 其中“<dir_or_file>”指定缓存文件的存放路径,“<size>”指定缓存文件的大小  
  11. -t 指定缺省的TTL值  
  12. -T address:port 设定varnish的telnet管理地址及其端口  
  13. -w int[,int[,int]] 设定varnish的工作线程数,常用的方式有:  
  14. -w min,max  
  15. -w min,max,timeout  
  16. 例如:-w5,51200,30,这里需要说明下,在varnish2.0版本以后,最小启动的线程数不能设定过大,设置过大,会导致varnish运行异常缓慢。

二、 配置varnish运行脚本
在安装varnish一节中,已经将varnish的管理脚本拷贝到了相应的目录下,这里稍作修改即可使用,首先修改/etc/sysconfig/varnish文件,根据本章的实例,配置好的文件如下:

[root@localhost etc]# vim /etc/sysconfig/varnish

DAEMON_OPTS="-a 192.168.1.40:80 -T 127.0.0.1:3500 -f /usr/local/varnish/etc/vcl.conf -u varnish -g varnish -w 2,51200,10 -n /
data/varnish/cache -s file,/data/varnish/cache/varnish_cache.data,4G"

 

这里需要说明的是,缓存文件“varnish_cache.data”在32位操作系统下,最大仅能支持2G,如果需要更大缓存文件则需要安装64为Linux操作系统。
接着需要修改的文件是/etc/init.d/varnish,找到如下行,改为相应的路径即可:

[root@localhost etc]# vim /etc/init.d/varnish


exec="/usr/local/varnish/sbin/varnishd"
prog="varnishd"
config="/etc/sysconfig/varnish"
lockfile="/var/lock/subsys/varnish"

其中,“exec”用于指定varnishd的路径,只需修改为varnish安装路径下对应的varnishd文件即可。“config”用于指定varnish守护进程配置文件路径。
两个文件修改完毕,就可以授权、运行/etc/init.d/varnish脚本了,执行如下:

  1. [root@varnish-server ~]#chmod 755 /etc/init.d/varnish  
  2. [root@varnish-server ~]#/etc/init.d/varnish   
  3. Usage:/etc/init.d/varnish  
  4. {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

 

从输出可知,此脚本功能强大,可以对varnish进行启动、关闭、查看状态、重启等操作。最后,启动varnish:

  1. [root@varnish-server ~]# /etc/init.d/varnish  start  
  2. Starting varnish HTTP accelerator:                         [  OK  ]  
  3.  

http://192.168.1.246