先安装写依赖包 以免后面报错
automake autoconf libtool ncurses-devel libxslt groff pcre-devel pkgconfig (Ubuntu下的) libproc g++
一 、安装Varnish
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/
############## 配置文件 ############################# vi /usr/local/varnish/etc/varnish/www.vcl backend www { #定义后端服务器名 .host = "192.168.1.69"; #定义后端服务器IP .port = "80"; #定义后端服务器端口 } #定义访问控制列表,充许那些IP清除varnish 缓存 acl purge { "localhost"; "127.0.0.1"; "192.168.1.0"/24 ; } # sub vcl_recv { # if (req.request == "PURGE") { # if (!client.ip ~ purge) { # error 405 "Not allowed."; # } # return(lookup); # } 判断host请求针对那个后端服务器 sub vcl_recv { if (req.http.host ~ "^192.168.1.124") { #泛域名的写法"^(.*.)?test.com$" set req.backend = www; } else { error 404 "Unknown HostName!"; #如果都不匹配,返回404错误 } } ##################################### 三 。 启动 #!/usr/bin/bash /usr/local/varnish/sbin/varnishd -n /data/varnish/ \ -f /usr/local/varnish/etc/varnish/www.conf \ -a 0.0.0.0:80 \ -s file,/data/varnish/varnish_cache.data,1024m \ -p user=www -p group=www \ -w 30000,51200,10 \ -T 127.0.0.1:3500 \ -P /usr/local/varnish/var/varnish.pid 参数说明: /usr/local/varnish/sbin/varnishd -n /data/varnish/ -f /usr/local/varnish/etc/varnish/www.conf #配置文件 -a 0.0.0.0:80 #监听端口 -s file,/data/varnish/varnish_cache.data,1024m # file 指定varnish缓存文件的位置以及大小 –p user=www –p group=www #用户和组 -w 30000,51200,10 #指处理的最小请求数、最大请求数、超时时间 -T 127.0.0.1:3500 #管理端口 –p client_http11=on #支持http1.1协议 -P /usr/local/varnish/var/varnish.pid #指定其进程码文件的位置,实现管理
扫描二维码关注公众号,回复:
1296241 查看本文章