NGINX: How it all Started

Two years ago I was hired by a startup company in Singapore as an external consultant to test thoroughly a combination of proposed settings for NGINX. They wanted to release their product having a rock-solid and well performing system. Well, who doesn’t?

Soon after I started with my assignment I was able to understand that NGINX is a web server on steroids. I would say that its main functionality is serving static files via http or https protocols but it has a bunch of other amazing features which make it unique because of the incredible performance that it is able to pull off.

That is the time when I absolutely fell in love with NGINX. Some of the results from my tests showed NGINX consuming several thousand time less memory than the world’s most popular web server to date: Apache.

A few weeks after I realized how beneficial NGINX would be for a web hosting provider where resource utilization is absolutely key. A system that is able to carry thousands of times more load would be just fantastic. It is important to understand as well that this is not just better for the provider; it also is a great advantage for the client. Today’s hosting provider scene is packed with companies that base their offer in quantity, not quality. Keeping similar users per machine ratios as any other traditional hosting should be thousands times faster. So let’s assume that it is only a few times faster since the world is not perfect.

So I began looking for NGINX based shared web hosting providers. But I did not find any. That is the time we started conceptualizing Leanservers.

Today Leanservers is truly a fast and reliable NGINX based web hosting. Just the way we thought it should be. We had an idea and removed the fat.

Technical Perspective

In a nutshell, NGINX is excellent in doing most of the things that people need; other web servers out there have more features but… do you really need those? The most used and common features are included: SSL, content compression (gzip), rewrite rules, reverse proxy, server side includes, load balancing, WebDAV, access control, advanced logging capabilities, fast-cgi… And more coming since there is a significant number of third-party community contributed modules under active developed: NGINX 3rd Party Modules.

One of its main strengths is its event-driven architecture which allows to scale extremely well under heavy load making use of Linux’ (e)poll system calls. This allows NGINX to handle more than 10,000 clients simultaneously, addressing the C10k problem.

Another big benefit of using NGINX is how simple its configuration is, allowing a new user to be up and running in minutes.

Finally I should mention that if you run NGINX you really never have to stop it even for upgrading it!!! Your can be serving thousands of requests per second while you compile a newer version of the source code. After you are done you can gracefully restart NGINX into the newer version.

References

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>