One: Varnish ready before deployment:
1.1 Related software and systems, Web services
System Requirements: Centos 6 (above) (64-bit)
Related middleware: varnish-4.0.2
1.2 Related system dependent package installation Check preparation
1.2.1 Check if the system comes with Nginx installed
Rpm-qa | grep varnish
If you have an installation, use the following command to uninstall the program
Yum Remove varnish-y
1.2.2 Installing the dependencies required by the Nginx compiler
Yum install Libtool ncurses-devel pcre-devel ibedit-devel pkgconfig python-docutils python-sphinx automake autoconf-y
1.2.3 Installing related Web Services
Install Apache,nginx,tomcat and so on, the web of this document is installed locally, using the Nginx Web port is: 8080
II: Varnish Deployment Installation
2.1 Download Varnish installation package
As shown in Varnish's official website: https://www.varnish-cache.org/releases, select the corresponding varnish version, the version of this document is varnish4.0.2
Cd/usr/local/srcwget https://repo.varnish-cache.org/source/varnish-4.0.2.tar.gz
2.2 Compiling and installing varnish
Cd/usr/local/srctar zxvf varnish-4.0.2.tar.gz./configure cppflags= "-i$path_to_libedit/include" LDFLAGS= "-L$PATH_TO _libedit/lib "--prefix=/usr/local/varnish4.0.2 make && make install
2.3 Configuring the Varnish startup script
echo "/usr/local/varnish4.0.2/sbin/varnishd-p/var/run/varnish.pid-f/usr/local/varnish4.0.2/etc/default.vcl-s Malloc,1g-t 127.0.0.1:2000-a 0.0.0.0:80 ">/usr/local/varnish4.0.2/sbin/varnishd.sh
2.4 Start the varnish as a boot service and join the system service
2.4.1 Edit/etc/init.d/varnishd
Vim/etc/init.d/varnishd
2.4.2 Add the following to/etc/init.d/varnishd
#!/bin/sh#chkconfig:345 85 15 #description: varnish cache server# varnish# Copyright (C) 2001-2014 varnish cache#service= "Varnish server" daemon=/usr/local /varnish4.0.2/sbin/varnishd.shpidfile=/var/run/varnish.pidcase $1 in ' start ') if [ -x ${DAEMON} ] then $DAEMON # Error checking here would be good... echo "${service} started success ! " else echo "Can ' T find file ${daemon}." echo "${service} not started." fi ;; ' Stop ') if [ -s ${pidfile} ] then if kill ' Cat ${pidfile} ' >/dev/null 2> &1 then echo "${ service} shutdown success ! " rm -f ${PIDFILE} fi fi ;; ' restart ') $0 stop sleep 10 $0 start ;; *) echo "Usage: $0 start|stop|restart" ;; Esac
2.4.3 Edit/USR/LOCAL/VARNISH4.0.2/ETC/DEFAULT.VCL Add the following content
VCL 4.0;backend webserver {. host = "127.0.0.1"; . Port = "8080"; Equivalent to back-end Web server. connect_timeout = 4s; . first_byte_timeout = 5s; . between_bytes_timeout = 20s; }
2.4.4 Start varnishd Service
Service Varnishd Start
Three: Varnish verification test
Start the Web service
Service Nginx Start
Use the system's own command curl-i localhost as shown below:
http/1.1 Okserver:nginx/1.8.0date:mon, Jan 07:50:09 Gmtcontent-type:text/htmllast-modified:mon, 201 5 03:55:55 Gmtetag: "55e3d04b-264" x-varnish:112 131182age:80via:1.1 varnish-v4content-length:612connection: Keep-alive
In the red section of this article, when two sets of data appear behind X-varnish, the cache is successful, when we turn off the Web service, the data will be read from the varnish cache, as follows
Close Web Service
Service Nginx Stop
Re-curl-i localhost if the cache is hit, as follows:
http/1.1 Okserver:nginx/1.8.0date:mon, Jan 07:53:47 Gmtcontent-type:text/htmllast-modified:mon, 201 5 03:55:55 Gmtetag: "55e3d04b-264" x-varnish:110 131182age:8via:1.1 varnish-v4content-length:612connection: Keep-alive
When there is no hit from the cache, the following prompt appears (no hit cache, then X-varnish followed by a single set of numbers):
http/1.1 503 backend Fetch Faileddate:mon, Jan 07:55:59 gmtserver:varnishcontent-type:text/html; charset=utf-8retry-after:5x-varnish:98457age:0via:1.1 varnish-v4content-length:282connection:keep-alive
At this point the entire varnish deployment installation is basically OK
Linux platform Deployment varnish high Performance cache server