Main Content

Virtual Hosts and Virtual Servers

Archive - Originally posted on "The Horse's Mouth" - 2008-11-20 08:19:49 - Graham Ellis

Do you want to use a single computer to host many different web sites? There are no less than four quite common ways of doing this - each of which has its advantages and disadvantages.



At the top left of my diagram, you have virtual hosting. In this arrangement, all the domains hosted on a single server use the same IP address (machine number) and TCP port (service number within the machine), with the single piece of server software telling the domains apart by information provided by the client (browser) using a host: header. This is the cheapest of solutions, very commonly used indeed, and a fine solution for the majority of sites which will be quite small in nature.

At the bottom left of my diagram, you have virtual hosting with multiple IP addresses. In order to separate the different sites a bit more, you can use multiple IP addresses and have your single piece of server software telling the sites apart by the IP address (or the port number) on which contact is made. There are only occasional benefits with this approach, and these days - with IP4 address space running out - it can be regarded as a little antisocial to hog addresses.

At the top right of my diagram, you have multiple servers. Again using multiple IP addresses / TCP posts, but now running several servers on the same computer. You might do this is you have some Java based applications running Tomcat that you want to contact directly, and others to be fed via Apache httpd, or if you want to run two different versions of httpd (it's actually something that we do on one of our live servers, with some sites hosted by Apache httpd 2.0 and others by Apache httpd 2.2. It would be unusual to use this approach for multiple copies of the same server, as sharing a server helps in the balancing out of the load when one site is quiet and the other busy, and it saves duplicating services in computer memory too.

And at the bottom right of my diagram, you have virtual servers. These days, you can run complete "virtual computers" on a single physical box - a popular trend, illustrated by this diagram. Each web site owner thinks that he / she has a complete computer but in practise, there are a lot of sites running within a single system. The scheme helps on the physical maintainance, the energy footprint (less computers!) etc, and we'll be seeing a lot more of this in the future.

We cover the setup, configuration and maintainance of a varety of options such as the above on our Deploying LAMP applications course, next running early next month.