Skip to main content

Speed up Apache Website with Varnish HTTP Cache

Introduction.


Varnish is reverse-proxy Accelerator is a web application that is also known as temporary proxy HTTP cache scope and makes the website very fast. Depending on the architecture used, it can make site 4-8 times faster.

Before Installation Requirements.

- Apache web-server installed.
- Need EPEL repositories installed for Cantos/RHEL. No need for Ubuntu.

Centos/RHEL 
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm 

Install varnish.

Centos/RHEL 

sudo yum install varnish                                             

Ubuntu

sudo apt-get install varnish                                          

After installing Varnish, stop, start and enable varnish service

sudo systemctl stop varnish                                         
sudo systemctl start varnish                                         
sudo systemctl enable varnish                                       

  

Configuration

To work together, we must regulate both varnish and Apache.


Configure varnish to use port 80

Open varnish configuration file for change pot,

sudo nano /etc/varnish/varnish.params                                  For CentOS/RHEL
sudo nano /etc/default/varnish                                                      For Ubuntu

change the port from 6081 to 80,

Save the file when you’re done.
Next, open the default.vcl file

sudo nano /etc/varnish/default.vcl      

And make following changes,

#Default backend definition. Set this to point to your content server.
backend default {
.host = "127.0.0.1";
.port = "8080";
}

Save and close file

Then, Restart both Varnish

sudo systemctl restart varnish                                       


Switch apache2 default port to 8080 

Open ‘httpd.conf’

sudo vim /etc/httpd/httpd.conf                                      

change the port 80 to 8080

Listen 8080

Restart the Apache service to apply the changes.

sudo systemctl restart httpd For                                           For CentOS/RHEL
sudo systemctl restart apache2                                                     For Ubuntu

Now everything is setup perfectly.
Varnish should be the listen of port 80.
Execute the this command for test configuration.

curl -I http://localhost


Output is something like this,


HTTP/1.1 200 OK
Date: Sun, 10 Oct 2018 18:50:37 GMT
Server: Apache/2.4.25 (Ubuntu)
Last-Modified: Sun, 10 Oct 2018 18:30:12 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 10 3
Age: 9
Via: 1.1 varnish (Varnish/5.0)
ETag: W/"2aa6-554ff0b3c88c9-gzip"
Accept-Ranges: bytes
Connection: keep-alive

Finally, You successfully installed varnish for speedup Apache web server.

Thanks for being here.

Comments

Popular posts from this blog

Apt-fast for Increasing Download Speed while Installing and Updating Packages Ubuntu/Debian [Beginners Guide]

Have you ever experienced slow download speed when downloading or updating packages in Ubuntu even when your network connection is running fine? You encounter this issue especially when updating and installing packages for the first time after installing a new Ubuntu/Debian OS. However, there is a way to get around this by speeding up the download speed using apt-fast command in Linux. Apt-fast is a shell script wrapper for “apt-get” and “aptitude” that uses the power of either  axel  or  aria 2  download managers to accelerate the download process. It improves download performance by downloading packages simultaneously in parallel with multiple packages per connection. In this article, we will walk through some steps to install apt-fast in order to accelerate the update and downloading process in Ubuntu. We will use Ubuntu 18.04 LTS for describing the procedure mentioned in this article.   Step 1: Installing prerequisites We need to install...

What is a CDN ? How Does a content delivery network Work?

I ntroduction. Latest Web sites and applications often need to provide   amount of static content to end users. This content includes images, style sheets, JavaScript, and video. The increase in the number of static assets and the increase grows the bandwidth usage increases page load time decreased, depending on the size of the user's search experience, and reduce the usable capacity of the server. Dramatically improving performance, reducing the page load time   reduce the bandwidth and infrastructure costs, you can implement a content delivery network,  And  CDN cache these assets at a set of servers that are geographically distributed. What is a CDN? Content delivery network is a group of servers distributed geographically optimized to provide static content to end users. While this static content can be almost any type of data, CDNs are most commonly used to deliver web pages and related files, streaming video and audio, and large softwar...

How To Install PHP 7.4 and PHP 7.3 ON Ubuntu 18.04/19.04/16.04

How to Install PHP 7.4 / PHP 7.3 on Ubuntu?. This guide will help you Install PHP 7.4 / PHP 7.3 on Ubuntu 18 / Ubuntu 16 /  Ubuntu 19 . PHP is an open-source server-side scripting language which has been widely adopted for the creation of dynamic web pages. PHP is secure, fast, simple, efficient, flexible and a loosely typed scripting language. The PHP release 7.4.0 has been made available for the general public and for use in Production environments. How to install PHP 7.4 on Ubuntu 18.04 / Ubuntu 19.04 / Ubuntu 16.04 Step 1: Add PHP 7.4 PPA Repository We’ll add ppa:ondrej/php PPA repository which has the latest build packages of PHP. sudo apt-get update sudo apt -y install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update Step 2: Install PHP 7.4 on Ubuntu 18/ Ubuntu 19/ Ubuntu 16 Install PHP 7.4 on Ubuntu 18.04/19.04/16.04 using the command: sudo apt -y install php7.4 Check version inst...