- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
varnish2.13_精华_安装全配置
varnish是一款高性能的开源HTTP加速器,现在很多门户网站已经部署了varnish,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源暂用更少。相信在反向代理,web加速方面,varnish已经有足够能力代替squid。好了,下面就开始我们的varnish之旅吧!需要说明的是在进行下面的实验时我们主机上已经安装好了web服务器,并且能正常运行了。 ?首先下载所需的软件包我是在/release里面下载的。在安装软件包之前首先看看主机上的automakeautoconflibtoolncurses-devellibxsltgroffpcre-develpkgconfig软件包是否已经安装?如果没有那么就要首先安装,我直接用yum安装的(关于yum源的配置请看我的另外的那篇文章)#yum?install?-y?automake?autoconf?libtool?ncurses-devel?libxslt?groff?pcre-devel?pkgconfig?接下来将你下载的软件包解压到一个目录下#tar?zxvf?varnish-2.1.3.tar.gz然后进入解压后的目录中#cd?varnish-2.1.3在配置前可以检查一下软件的依赖关系是否满足,避免不必要的麻烦#sh?autogen.sh#sh?configure#make在进行安装前可以进行一下自动测试,这个过程要花费一段时间[root@db?varnishtest]#?cd?bin/varnishtest/??./varnishtest?tests/*?.vtc我的测试结果如下如果您发现有一两个失败的时候,请不用担心,某些测试项目对时间比较敏感如果出现很多错误,尤其是?b00000.vtc?测试也失败话,应该是发生了某些严重的错误,这是你就应该解决这些问题,然后再继续。#make?install安装安成后我们的配置文件在?/usr/local/etc/varnish/default.vcl?下好了接下来就开始我们的配置之旅吧。首先将下面这些开始的注释去掉,并将8080改为80#?backend?default?{#?????.host?=?;#?????.port?=?8080;#?}?backend?default?{?????.host?=?;?????.port?=?80;?}现在,这块配置定义了一个?varnish默认访问的后端服务器,当varnish?需要从后端服务器获取内容的时候,它就会访问自己()的80端口。?Varnish?可以定义多个后端服务器而且您可以通过定义多个后端服务器达到负载均衡的目的。?现在我们完成了基本的?varnish?配置,我们可以在?8080?端口上启动?varnish,并做一些基本的测试。?下面我们启动varnish。[root@db?varnish]#?varnishd?-f?/usr/local/etc/varnish/default.vcl?-s?malloc,1G?-T?:2000?-a?:8080会出现下面的内容说明启动成功了。storage_malloc:?max?size?1024?MB.Creating?new?SHMFILE其中-f指定varnish的配置文件–s?选项用来确定varnish使用的存储类型和存储容量-T指定监听本地端口-a?:8080用来制定?varnish?监听所有?IP?发给?8080?端口的?http?请求,如果在生产环境下,您应该让varnish监听80,这也是默认的。我们在浏览器里输入31:8080/可以看到web程序正在运行。为了让我们知道varnish到底做了什么,那么我们就来设置日志吧。Varnish一个特别的优点就是它如何记录数据的。使用内存段代替普通的日志文件,当内存段使用完以后,又从头开始,覆盖最旧的记录。这样就可以非常快的记录数据,,并且不需要磁盘空间。缺点就是您没有把数据写到磁盘上,可能会消失。在命令行执行varnishlog将会得到一下信息这就说明varnish的主进程在正常运行。如果你在浏览器里在访问一下会看到类似下面的内容:我是在windows主机中访问的第一列是任意的数,它用来定义请求,相同的号码代表相同的?HTTP传输。?第二列是日志标记,所有的日志都带有一个标记(tag),标记对应相对的操作。Rx表示varnish收到数据,Tx表示varnish发送数据。?第三列代表数据是从?c(client)还是?b(backend)传出或者传入的。?第四列是被记录的数据。使用varnishlog时有几个参数,可以让你能更方便的得到你想要的内容-b ? ?只显示varnish和backend?server?之间的日志-c????只显示varnish和?clien
文档评论(0)