We are going to install the latest version of varnish which is 5.2 at the time of writing. In order to install the latest version, we have to download the source and compile it. You have to install some dependencies to compile the Varnish:
apt-get install make automake autotools-dev libedit-dev libjemalloc-dev libncurses-dev libpcre3-dev libtool pkg-config python-docutils python-sphinx
Now you can download the Varnish from the repository:
wget https://varnish-cache.org/_downloads/varnish-5.2.1.tgz
You can also download and install other release from here:
https://varnish-cache.org/releases/index.html
Extract the “tar.gz” file with the command below:
tar xvzf varnish-5.*.tar.gz
Switch to the extracted directory and start compiling:
cd varnish-5.2*
Run the following commands one by one:
sh autogen.sh sh configure make make install
Create Varnish 5.2 Service
In this section, we are going to create a “systemd” service for Varnish but first, we have to create a directory in order to store default configuration of Varnish
Make a directory named “varnish” in your “etc”:
cd mkdir /etc/varnish
Now you can paste the default configuration from the source in the above directory with the command below:
mv varnish-5.1.2/etc/example.vcl /etc/varnish/default.vcl
Then create a service file with your text editor in the following path:
nano /etc/systemd/system/varnish.service
Paste the following script in the file then save and exit:
[Unit] Description=Varnish HTTP accelerator [Service] Type=forking LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStartPre=/usr/local/sbin/varnishd -f /etc/varnish/default.vcl ExecStart=/usr/local/sbin/varnishd -a :80 -b localhost:8080 ExecReload=/usr/share/varnish/reload-vcl [Install] WantedBy=multi-user.target
Run the following command to take effect:
systemctl daemon-reload
Finally, your Varnish 5.2 has a “systemd” service and you can control it with the following commands:
systemctl enable varnish systemctl start varnish systemctl status varnish systemctl restart varnish
Testing Varnish
To make sure that your Varnish is working properly you can use the “curl” command.
First, install “Curl”:
curl -I localhost
Search for the following lines in the output:
X-Varnish: 2 Via: 1.1 varnish (Varnish/5.1) Src: https://www.hugeserver.com/kb/install-varnish-5-1-cache-server-apache-debian-8-ubuntu-16/
https://varnish-cache.org/releases/index.html