关闭

varnishd 配置及其使用讨论

1777人阅读 评论(0) 收藏 举报
原贴:http://bbs.chinaunix.net/thread-987084-1-1.html

[打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
ljh1405
侠客



UID:114360
注册:2003-11-24
最后登录: 2007-09-18
帖子:37
精华:0

可用积分:26
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
1楼 发表于 2007-9-6 12:56 
varnishd 配置及其使用
varnishd是一款全新的cache软件,据作者说采用的是最新的软件体系机构,和现在的硬件体系配合紧密。远胜过以前的squid,相同配置下,据说1台能顶3-4台squid
varnishd简单安装
1.下载varnishd
        varnish 官方网站是http://varnish.projects.linpro.no/
2.编译,没什么说的,默认即可  
        tar -zxvf varnish-1.1.1.tar.gz;cd varnish-1.1.1; ./configure --prefix=/home/admin/varnishd;make ;make install
3.关于varnishd的启动
        进入 /home/admin/varnishd/sbin/,使用 varnishd启动
        启动参数说明
          -a address:port              # varnishd httpd监听地址及其端口
    -b address:port              # 后台服务器地址及其端口
                                 #    -b <hostname_or_IP>
                                 #    -b '<hostname_or_IP>:<port_or_service>'
    -d                           # 使用debug模式
    -f file                      # varnishd 服务器存取规则文件
    -F                           # Run in foreground
    -h kind[,hashoptions]        # Hash specification
                                 #   -h simple_list
                                 #   -h classic  [default]
                                 #   -h classic,<buckets>
    -n dir                       # varnishd working directory
    -P file                      # PID file
    -p param=value               # 服务器参数,用来优化性能
    -s kind[,storageoptions]     # 缓存内容存放方式
                                 #   -s malloc
                                 #   -s file  [default: use /tmp]
                                 #   -s file,<dir_or_file>
                                 #   -s file,<dir_or_file>,<size>
    -t                           # Default TTL
    -T address:port              # telnet管理地址及其端口
    -V                           # version
    -w int[,int[,int]]           # 工作线程数
                                 #   -w <fixed_count>
                                 #   -w min,max
                                                                                                                                #   -w min,max,timeout [default: -w1,1000,120]
        一般使用varnishd -a address:port -b address:port 其他使用默认即可启动
        注意:vcl 中指定 后台服务器的话就不用使用-b 参数了
4.关于vcl文件的使用说明
        vcl是varnishd的存取策略,即varnishd的配置文件
        #基本格式如下指定后台服务器机器端口
                 backend www {
             set backend.host = "www.example.com";
             set backend.port = "http";
         }
   #acl访问控制
            acl local {
             "locahost";         /* myself */
             "10.0.0.1"/8;       /* and everyone on the local network */
             ! "10.0.0.23";      /* except for the dialin router */
         }
   #如果使用虚拟主机,请参照下面代码
            backend www {
             set backend.host = "www.example.com";
             set backend.port = "80";
         }

         backend images {
             set backend.host = "images.example.com";
             set backend.port = "80";
         }

         sub vcl_recv {
             if (req.http.host ~ "^(www.)?example.com$") {
                 set req.backend = www;
             } elsif (req.http.host ~ "^images.example.com") {
                 set req.backend = images;
             } else {
                 error 404 "Unknown virtual host";
             }
         }
    #关于cache存在时间设置
             sub vcl_fetch {
             if (obj.ttl < 120s) {
                 set obj.ttl = 120s;
             }
         }
     #cache图片等内容配置
             sub vcl_recv {
                         if (req.request == "GET" && req.url ~ "/.(gif|jpg||jpeg|tom|swf|css|js)$") {
                                                    lookup;
                                 }
                                lookup;
                        }   
5.关于服务器 param的设置
        param有以下选项
        user                 root (0)
group                root (0)
default_ttl          14400 [seconds]
thread_pools         1 [pools]
thread_pool_max      12000 [threads]
thread_pool_min      4000 [threads]
thread_pool_timeout  10 [seconds]
overflow_max         100 [%]
http_workspace       8192 [bytes]
sess_timeout         5 [seconds]
pipe_timeout         60 [seconds]
send_timeout         20 [seconds]
auto_restart         on [bool]
fetch_chunksize      128 [kilobytes]
sendfile_threshold   unlimited [bytes]
vcl_trace            off [bool]
listen_address       172.16.189.1:3128
listen_depth         1024 [connections]
srcaddr_hash         1049 [buckets]
srcaddr_ttl          720 [seconds]
backend_http11       on [bool]
client_http11        on [bool]
ping_interval        3 [seconds]

大家可以使用-p参数在启动时候进行配置和优化
例如
/home/admin/varnish/sbin/varnishd -f /etc/varnish/vcl.conf /
-a 172.16.189.1:3128 /
-s malloc /
-p user root -p group root /
-p default_ttl 14400 -p thread_pool_max 8000 -p send_timeout 20 /
-p srcaddr_ttl 720 -p backend_http11 on -p client_http11 on /
-w 4000,12000,10 -T 127.0.0.1:8080
6.关于varnishd的管理
        管理功能的启用需要在启动varnishd的时候 启动 -T参数指定 telnet管理使用的地址和端口
        使用telnet localhost 8080,然后输入help参看相关的管理选项
        或者使用 /home/admin/varnishd/bin/varnishadm -T localhost:8080 cmd进行管理
        使用/home/admin/varnishd/bin/varnishstat 来查看varnishd的运行情况
7.关于log
        使用home/admin/varnishd/bin/varnishlog  和varnishncsa查看服务器访问log或者让其输出到文件来记录log



具体问题可以在我的blog商讨
http://blog.chinaunix.net/u1/47198/showart_375385.html



您对本贴的看法:鲜花[0] 臭蛋[0]
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
w_jia82102   帅哥
圣骑士




UID:212891
注册:2005-1-4
最后登录: 2007-09-20
帖子:112
精华:0

可用积分:82
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
2楼 发表于 2007-9-6 16:09 
试试先



您对本贴的看法:鲜花[0] 臭蛋[0]
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
powerv   美女
圣骑士



UID:229669
注册:2005-2-25
最后登录: 2007-09-19
帖子:129
精华:0

可用积分:97
信誉积分:105
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
3楼 发表于 2007-9-6 18:52 
先顶了再看,支持给楼主加精华,鼓励。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

我不是英雄,但我和英雄并肩作战!
谢谢CU上的大哥大姐对我的帮助,谢谢!
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
huichrist   帅哥
新手




UID:588309
注册:2007-7-17
最后登录: 2007-09-20
帖子:6
精华:0

可用积分:4
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
4楼 发表于 2007-9-10 09:55 
配置过程中的问题

我按你上面的文章配置了一下,还是有问题的!配置虚拟主机的时候有如下提示:Unused backend www, defined:
(/usr/local/varnish/etc/vg.vcl.default Line 10 Pos 9)
backend www {
--------###--
我的配置如下:
backend default {
set backend.host = "www.rednetunion.com";
set backend.port = "80";
}
sub vcl_recv {
if (req.request == "GET" && req.url ~ "/.(gif|jpg|swf|css|js)$") {
    lookup;
}
}
backend www {
set backend.host = "www.rednetunion.com";
set backend.port = "80";
}
vcl.conf如下:
#!/bin/sh
# file: go.sh
date -u
/usr/local/varnish/sbin/varnishd /
-a 192.168.1.199:80 /
-s file,/varnishcache/V,24m /
-f /usr/local/varnish/etc/vg.vcl.default /
-p thread_pool_max=1500 /
-p thread_pools=5 /
-p listen_depth=512 /
-p client_http11=on /
-p backend_http11=on /
是在FreeBsd6.2平台的。请教指教!!!



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

dfas
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
ruolin
新手




UID:613663
注册:2007-9-7
最后登录: 2007-09-19
帖子:1
精华:0

可用积分:1
信誉积分:0
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
5楼 发表于 2007-9-10 14:27 


QUOTE:
原帖由 huichrist 于 2007-9-10 09:55 发表
我按你上面的文章配置了一下,还是有问题的!配置虚拟主机的时候有如下提示:Unused backend www, defined:
(/usr/local/varnish/etc/vg.vcl.default Line 10 Pos 9)
backend www {
--------###--
我的配置 ...

这种错误说明设置的反向代理没有被使用
backend www不是默认的代理名称,如果没有没有使用在check的时候会提示错误,可以在vcl_recv中指定set req.backend=www;



您对本贴的看法:鲜花[0] 臭蛋[0]
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
huichrist   帅哥
新手




UID:588309
注册:2007-7-17
最后登录: 2007-09-20
帖子:6
精华:0

可用积分:4
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
6楼 发表于 2007-9-11 09:19 
楼主的回复的不错,!

你好呀,看你的回贴明白了一些,可是vcl里面的具体的东西,还是有些不明白,能不能就你自己研究过程,做一个manual出来,我相信大家也是好期待的,谢谢大家的回帖!!!



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

dfas
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
xooass
骑士



UID:165465
注册:2004-6-17
最后登录: 2007-09-20
帖子:68
精华:0

可用积分:71
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[资料] [站内短信] [Blog]


顶部
7楼 发表于 2007-9-11 10:56 
我最近也在研究这个   不过我弄出来的速度很慢   本来1秒可以完全打开的页面  经过varnish后居然10秒后才能打开  不知道哪里错误了   用的官方RHEL 4 RPM包



您对本贴的看法:鲜花[0] 臭蛋[0]
UNIX平台操作风险管理解决方案 | 送Linux集群,十一长假精通Linux技术! | 免费下载IBM社区版软件 | 安全新客站
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3120779次
    • 积分:32832
    • 等级:
    • 排名:第145名
    • 原创:76篇
    • 转载:1209篇
    • 译文:0篇
    • 评论:200条
    最新评论
    牛逼的网站