varnish缓存安装使用
varnish PDF http://files.cnblogs.com/jimingsong/varnish.pdf
目前介绍CentOS6.4-64位系统 yum安装varnish:
配置varnish yum源, vim /etc/yum.repos.d/varnish.repo 添加如下内容保存
[varnish-3.0] name=Varnish 3.0 for Enterprise Linux el6 - $basearch baseurl=http://repo.varnish-cache.org/redhat/varnish-3.0/el6/$basearch enabled=1 gpgcheck=0 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-VARNISH
更新本地yum源
yum clean all yum repolist
安装varnish3 - varnish3.0.5(目前稳定版)
yum -y install varnish
文件介绍
/etc/init.d/varnish 启动脚本 - 默认不需要修改
/etc/varnish/default.vcl
###########后台代理服务器######## backend server_image { .host = "10.20.20.30"; .port = "8081"; } sub vcl_recv { ###########Image域######## if (req.http.host ~ "^image.zcyun.cn") { set req.backend = server_image; if (req.request != "GET" && req.request != "HEAD") { return(pipe); } else { return(lookup); } } ###########Image域########## else { error 404 "Sorry,Your request no found"; return(lookup); } } sub vcl_fetch { set beresp.grace = 5m; if (beresp.status == 404 || beresp.status == 503 || beresp.status == 500) { set beresp.http.X-Cacheable = "NO: beresp.status"; set beresp.http.X-Cacheable-status = beresp.status; return (hit_for_pass); } if (req.request == "GET" && req.url ~ "(?i)\.php($|\?)"){ return (hit_for_pass); } if (req.request == "GET" && req.url ~ "(?i)\.ashx($|\?)"){ return (hit_for_pass); } if (req.url ~ "\.(php|shtml|asp|aspx|jsp|js|ashx)$") { return (hit_for_pass); } if (req.url ~ "\.(js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf).*$") { set req.http.x-host = req.http.host; set req.http.x-url = req.url; set req.http.host = "image.xxxxx.cn"; set req.url = regsub(req.url, "\?.*", ""); set beresp.ttl = 7d; unset beresp.http.set-cookie; } if (beresp.ttl <= 0s) { set beresp.http.X-Cacheable = "NO: !beresp.cacheable"; return (hit_for_pass); } else { unset beresp.http.expires; } if (req.url ~ "(.js|.css)$") { set beresp.ttl = 10m; } return (deliver); } sub vcl_deliver { if (resp.http.magicmarker) { unset resp.http.magicmarker; set resp.http.age = "0"; } # add cache hit data if (obj.hits > 0) { set resp.http.X-Cache = "HIT"; set resp.http.X-Cache-Hits = obj.hits; } else { set resp.http.X-Cache = "MISS"; } # hidden some sensitive http header returning to client, when the cache server received from backend server response remove resp.http.X-Varnish; remove resp.http.Via; remove resp.http.Age; remove resp.http.X-Powered-By; remove resp.http.X-Drupal-Cache; return (deliver); } sub vcl_error { if (obj.status == 503 && req.restarts < 5) { set obj.http.X-Restarts = req.restarts; return (restart); } } sub vcl_hit { if (req.http.Cache-Control ~ "no-cache") { if (! (req.http.Via || req.http.User-Agent ~ "bot|MSIE")) { set obj.ttl = 0s; return (restart); } } return(deliver); }
/etc/sysconfig/varnish
NFILES=131072 MEMLOCK=82000 RELOAD_VCL=1 VARNISH_VCL_CONF=/etc/varnish/default.vcl VARNISH_LISTEN_PORT=80 VARNISH_ADMIN_LISTEN_ADDRESS=0.0.0.0 VARNISH_ADMIN_LISTEN_PORT=6082 VARNISH_MIN_THREADS=1 VARNISH_MAX_THREADS=5000 VARNISH_THREAD_TIMEOUT=120 VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin VARNISH_STORAGE_SIZE=4G #KINEPOLIS_VARNISH_STORAGE="file,/var/lib/varnish/varnish_storage.bin,4G" KINEPOLIS_VARNISH_STORAGE="malloc,10240m" KINEPOLIS_CONNECT_TIMEOUT="connect_timeout=600" VARNISH_TTL=900 DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \ -f ${VARNISH_VCL_CONF} \ -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \ -t ${VARNISH_TTL} \ -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \ -u varnish -g varnish \ -s ${KINEPOLIS_VARNISH_STORAGE} \ -p ${KINEPOLIS_CONNECT_TIMEOUT} \ -p sess_workspace=262144 \ -p thread_pools=2 \ -p thread_pool_min=200 \ -p thread_pool_max=5000 \ -p thread_pool_add_delay=2 \ -p http_req_size=131072 \ -p http_req_hdr_len=49152 "
varnish缓存安装使用的更多相关文章
- Varnish缓存服务器的搭建配置手册
Varnish缓存服务器的搭建配置手册 1.Varnish官方环境依赖提示 Installing Varnish Cache is as simple as enabling our package ...
- Varnish缓存服务
Varnish缓存服务详解及应用实现 1.varnish的基本介绍 Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已 ...
- Varnish缓存服务详解及应用实现
1.varnish的基本介绍 Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多.在1975年时,储存媒介只有 ...
- Varnish 缓存加速, Varnish 菜鸟看过来,Varnish实战
Varnish可以有效降低web服务器的负载,提升访问速度.按照HTTP协议的处理过程,web服务器接受请求并且返回处理结果,理想情况下服务器要在不做额外处理的情况下,立即返回结果,但实际情况并非如此 ...
- 关于varnish缓存
目录 缓存的概念 一.varnish缓存 1. 简介 2. 总体结构 2.1 两个主进程 2.1.1 Management进程 2.1.2 Child/Cacher进程 2.2 Varnish的日志收 ...
- Redis for Windows(C#缓存)安装和使用
Redis for Windows(C#缓存)安装和使用 前言 前段时间写过两篇简单的有关Memcached缓存的相关文章,当然了只是入门的如何使用而已.最近这两天又发现了Redis这个神奇的东西,之 ...
- varnish缓存系统基础知识
缓存系统类型 1.页面缓存/pageCache 缓存静态资源(html js css image) 例如:varnish squid 2.数据缓存/dataCache 缓存应 ...
- keepalived高可用haproxy负载均衡varnish缓存wordpress的动静分离(第一次配置成功)
haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一.实验环境 五台虚拟机: ha ...
- JEESZ-Redis分布式缓存安装和使用
独立缓存服务器: Linux CentOS Redis 版本: 3.0下面我们针对于Redis安装做下详细的记录:编译和安装所需的包:# yum install gcc tcl创建安装目录:# mkd ...
随机推荐
- linux下安装LoadRunner LoadGenerator
root用户登录 关闭防火墙: setenforce 0 /etc/init.d/iptables stop 先安装一个rpm包,compat-libstdc++-33-3.2.3-61.i386.r ...
- 【.NET】发送Email
首先,在web.config的appSettings配置一下. <appSettings> <add key="FromMail" value="xxx ...
- UITextField 设置 placeholder 的字体颜色方法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica; color: #ff2608 } [_textField setValu ...
- 转:Jmeter以non-gui模式进行分布式测试
由于Jmeter是一个纯JAVA的应用,用GUI模式运行压力测试时,对客户端的资源消耗是相当惊人的,所以在进行正式的压测时一定要使用non-gui模式运行,如果并发数很高或者客户端的硬件资源比较一般的 ...
- android使用shape做selector按钮按下和弹起的动画
平时效果: 按下效果: selector代码: <?xml version="1.0" encoding="utf-8"?> <selec ...
- SSM
今天内容安排 1:复习mybatis 2:复习springMVC 3:springMVC+spring+mybatis组合起来,搭建一个web应用开发的框架 4:用户管理系统,针对用户的CRUD操作, ...
- KMP算法的java实现
package com.trs.utils; public class KMPStr { /* * 在KMP算法中,最难求的就是next函数,如何理解next函数是一个难题,特别是k=next[k], ...
- KindeEditor图片上传插件用法
因业务需要找了款插件 KindeEditor编辑器确认挺好用,但无奈技术有限,上传配置不知,故问度娘! 图片上传对于部分新手来说有时候是一件非常头疼的事,今天来分享一下项目中使用到的这个插件Kinde ...
- Sublime themes/ lint themes setup
[Sublime 3 Setup for ES6 / Babel] https://www.youtube.com/watch?v=L8nmOqyyJLA [config oceanic next t ...
- 6、Web应用程序中的安全向量 -- customErrors(适当的错误报告和堆栈跟踪)
几乎所有的网站在开发过程中都在web.config文件中设置了特性<customErrors mode="off">. customErrors模式有3个可选的设置项: ...