Linux 代理缓存varnish安装配置 |
| 发表者:admin分类:应用服务2015-03-09 15:14:48 阅读[2374] |
varnish安装配置
如果是RedHat/CentOS系统,在安装varnish的时候首先要安装以下软件包
automake
autoconf
libtool
ncurses-devel
libxslt
groff
pcre-devel
pkgconfig
一、安装
# tar zxvf varnish-2.1.3.tar.gz -C /usr/local/src/
# cd /usr/local/src/varnish-2.1.3/
# ./configure --prefix=/usr/local/varnish
# make
# make install
二、创建www用户和组,以及Varnish缓存文件存放目录
1. 创建组
# groupadd www
2.创建用户
useradd www -g www -s /sbin/nologin
-g:指定用户属于哪个组
-s:指定用户属于哪个shell登录(nologin就是不允许登录)
3.创建缓存文件目录
# mkdir -p /data/varnish/
-p:可以是一个路径名称。此时这个路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,而且一次可以建立多个目录。
4.给目录添加写入权限
# chmod +w /data/varnish/
5. 更改属主和属组
# chown -R www:www /data/varnish/
三、配置
1.创建配置文件
#定义访问控制列表,充许那些IP清除varnish 缓存 判断host请求针对那个后端服务器 |
启动:
# /usr/local/varnish/sbin/varnishd -n /usr/local/varnish/vcache/-f /usr/local/varnish/etc/varnish/default.vcl -a 0.0.0.0:80 -smalloc,256m -T 127.0.0.1:808
-f:指定配置文件路径
停止:
pkill varnishd
--------------------------------------------------------------------------------------------------
2. Yum –y install ncurses-devel 3. ./configure Make Make install 4. Yum –y install telnet-server 5. 6. Mkdir –p /var/log/varnish Chmod +w /var/log/varnish Chown –R www:www /var/log/varnish 7. Cd tar –xvzf cd export PKG_CONFIG_PATH=/usr/local/pcre/lib/pkgconfig ./configure –prefix=/usr/local/varnish Make &&make install 8. Vi backend rzmsserver { .host = "192.168.1.27"; .port = "80"; } acl purge { "192.168.1.27"/24; } sub vcl_recv { if (req.request == "PURGE") { if (!client.ip ~ purge) { error 405 "Not allowed."; } return(lookup); } if (req.http.host ~ "^192.168.1.27") { set req.backend = rzmsserver; if (req.request != "GET" &&req.request != "HEAD") { return(pipe); } else { return(lookup); } } else { error 404 "rzms Cache return(lookup); } } sub vcl_hit { if (req.request == "PURGE") { set obj.ttl = 0s; error 200 "Purged."; } } sub vcl_miss { if (req.request == "PURGE") { error 404 "Not in cache."; } } sub vcl_fetch { if (req.request == "GET" && req.url~ "\.(txt|js)$") { set beresp.ttl = 3600s; } else { set beresp.ttl = 30d; } } 说明: (1)、Varnish通过反向代理请求后端IP为192.168.0.5,端口为80的web服务器; (2)、Varnish允许localhost、127.0.0.1、192.168.0.***三个来源IP通过PURGE方法清除缓存; (3)、Varnish对域名为192.168.1.27的请求进行处理,非192.168.1.27域名的请求则返回“rzms CacheServer”; (4)、Varnish对HTTP协议中的GET、HEAD请求进行缓存,对POST请求透过,让其直接访问后端Web服务器。之所以这样配置,是因为POST请求一般是发送数据给服务器的,需要服务器接收、处理,所以不缓存; (5)、Varnish对以.txt和.js结尾的URL缓存时间设置1小时,对其他的URL缓存时间设置为30天。 9. ulimit -SHn 51200 /usr/local/varnish/sbin/varnishd–n /var/vcache -f/ usr/local/varnish/default.vcl-a 0.0.0.0:80 -s file,/var/vcache/varnish_cache.data,1024m–p user=www –p group=www -w 30000,51200,10 -T 127.0.0.1:3500 (–pclient_http11=on)未使用 说明: -f 指定配置文件启动 -a 监听本机的网卡的80端口 -T 指定本机的varnish管理端口 -s file 指定varnish缓存文件的位置以及大小 -w 指处理的最小请求数、最大请求数、超时时间 -g 组名 -u 用户名 -p client_http11=on 支持http1.1协议 -P(大P) /usr/local/varnish/var/varnish.pid指定其进程码文件的位置,实现管理。 10. /usr/local/varnish/bin/varnishncsa–n /var/vcache –w /var/logs/varnish/varnish.log& 11. /usr/local/varnish/varnishadm-T 127.0.0.1:3500 help (1) 例如:清除具体URL地址: /usr/local/varnish/bin/varnishadm-T 127.0.0.1:3500 url.purge /a/ (2) 例如:清除具体URL地址: /usr/local/varnish/bin/varnishadm-T 127.0.0.1:3500 url.purge w*$ (3) 例如:清除所有缓存: /usr/local/varnish-2.1/bin/varnishadm-T 127.0.0.1:3500 url.purge *$ 12. /usr/local/varnish/bin/varnishstat–n var/vcache |
转载请标明出处【Linux 代理缓存varnish安装配置】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
| Tags: | [阅读全文...] |
最新评论