When I first created this blog I wanted to create it around Internet Marketing and Site Development. My experience with Internet Marketing is very limited but I’m learning every day and wanted a venue for sharing some of the things that work for me and don’t work for me while building my online business. I also wanted to share some of my experience as a web site architect by giving back some of the techy things I know and hopefully help those who feel like I do when it come the the marketing side of things. I recently realized however that I have been neglecting the site development side of things. So today I’m beginning a series of posts expanding on the topic of site development.
Many of us today pay for web hosting from a service provider like Hostgator who kindly gives us a web server (or more correctly, a portion of a web server) to run our websites from. The hosting providers provide a whole list of tools for making it easy to administer our web servers, configure databases, add users, email, etc. With this ease of use, we sometimes forget what’s really going on under the covers. So today I wanted to cover some of the basics of web hosting and how web servers are able to run multiple websites.
So to begin I think its easiest to visual things in layers. Say it with me L – A – Y – E – R – S – If any of you have seen Shrek you know what I mean. (but we don’t neccessarily want our websites to be Onions turning brown and nasty with little hairs growing on the outside, unless it happens to be our niche – lol ) They need to be fruitful and multiply!
So at the core of our Onion we have our managed hosting provider like Hostgator – these folks have real physical servers sitting in racks at a data center that they use for their customers. These servers are very beefy machines with lots of redundancy built-in incase any part of the hardware on the server happens to fail. These machines really are very much like your laptop or desktop, however they are designed to run consantly with a lot of load on them.
Each physical server can be configured to run many little “virtual” servers inside and are usually given out one per customer. These virtual servers can be visualized as our next Layer of our Onion. This virtualization can be acomplished in a lot of different ways and depending on the level of service you pay for will depend on which method your provider will use. I don’t want to get to technical here as it can get pretty complicated with server vitualization. The most cost effect way to portion things out to customers, or do to the $9.99 per month method, is to simply carve out portions of a server running Linux for the hosting provider’s customers. The provider then uses an application like CPanel to allow their customers an easy way to configure and maintain their little portion of the server.
Our next layer would be the web server. Most providers use a web server called Apache as the server of choice to host their customers web sites. Apache is a very versatile, easy to configure, free, and like most web servers today has the ability to host an unlimited amount of web sites all from the single ip address of the virtual server. Of course this is a bit of an exageration. You can’t really have unlimited web sites, like all things there are limits, and in this case the limits are in the hardware itself and how much data it can process.
When using virtual web hosting, a web server looks at the domain name sent in the http request from the web browser to know what web site or files to serve up to the requestor. So when someone types in thier browser – http://www.sitename.com – the web browser tells the web server they are looking for the web site www.sitename.com. The web server then looks in its configuration for the domain name www.sitename.com to find what directory (or file folder) has the web pages for www.sitename.com. Every site has a default web page it serves up if no web page is specified. Most of the time on Linux its index.html or index.php. On a Microsoft IIS server it could most likely be default.htm or default.asp.
And thats about it. I hope I didn’t go too deep for you and if you would like to see more of this type of thing please let me know. If you would like me to explain things a little better let me know that too!
Take care and talk to you all soon!