Nginx 

Nginx is an incredibly fast and efficient web server and reverse proxy system. It’s a step away from traditional web servers that attempt to directly incorporate support for many types of scripting languages. In fact, Nginx only serves up only static data - but it does it in a hurry. I know, I know - who only has static content? You might be surprised how much of it you do have.

Nginx has a concise and powerful syntax for determining how to handle a request. It first checks to see if a static file exists, and if one does not exist, it then acts as a reverse proxy and sends your request to another service. For instance, for a php script, nginx will determine that it is a dynamic request, and it will then kick the request off to a fastcgi server. For a ruby on rails application, it will send the request to a mongrel cluster.

One huge advantage of this is Scalability. Instead of relying directly on your webserver to handle requests, you can introduce as many application servers as necessary, and just notify nginx of the available servers. This allows for easy expansion of your servers as user load increases. Because you are isolating static data from dynamic requests, you can take advantage of applications that specialize in handling each.

Another Advantage: Phenomenal Performance. Nginx offers built-in support for memcached. With nginx handling static files and cached data, you can eliminate the majority of the dynamic requests to your heavy weight (read: slow) webserver. This vastly increases the speed of your site on the users end, while greatly reducing the load on your servers. A webmaster’s dream!

Our research at Concentric Sky shows nginx to be a rising star in web server technology. If you’d like to learn more about how we’re using it, feel free to drop us a line.


Leave a Comment