We all know, to run a web application we need a server. The web application must be processed on a powerful system. The users access the application through the browsers. Browsers send http requests to the port of the web application. The web server receives and processes the request and sends the response.
The most popular web server software is Apache server which is a open source project. Websites like Wikipedia, Google, Facebook etc handles huge amount of traffic. So they need powerful web servers. Apache can handle around 100 http requests per second only. I introduce you another powerful web server, nginx, also an open source project. It can handle thousands of http requests per second.
It runs on Unix, Linux, BSD variants, Mac OS X, Solaris, and Microsoft Windows. nginx is a lightweight, high-performance Web server/reverse proxy and e-mail (IMAP/POP3) proxy. It is licensed under a BSD-like license. BSD licenses allow the open source tools to edit the source code and gives authority to hide the modifications in the source code.
It is written in C and first released on 4th October 2004. It’s developed by Igor Sysoev. According to Netcraft's May 2011 Web Server Survey, nginx was found to be the third most widely used web server across all domains (7.50% of surveyed sites) and the fourth most widely used web server for all “active” sites (8.23% of surveyed sites).
Originally, nginx was developed to fill the needs of various websites run by Rambler, for which it was serving 500 million requests per day as of September 2008!! Nginx uses an asynchronous event-driven approach to handling requests which provides more predictable performance under load, in contrast to the Apache HTTP server model that uses a threaded or process-oriented approach to handling requests.
I will post more about nginx soon