advertise
« Put the web server on a diet and increase scalability | Main | Friends for Sale Architecture - A 300 Million Page View/Month Facebook RoR App »
Saturday
May032008

Product: nginx

Update 6: nginx_http_push_module. Turn nginx into a long-polling message queuing HTTP push server.

Update 5: In Load Balancer Update Barry describes how WordPress.com moved from Pound to Nginx and are now "regularly serving about 8-9k requests/second and about 1.2Gbit/sec through a few Nginx instances and have plenty of room to grow!".
Update 4: Nginx better than Pound for load balancing. Pound spikes at 80% CPU, Nginx uses 3% and is easier to understand and better documented.
Update 3: igvita.com combines two cool tools together for better performance in Nginx and Memcached, a 400% boost!.
Update 2: Software Project on Installing Nginx Web Server w/ PHP and SSL. Breaking away from mother Apache can be a scary proposition and this kind of getting started article really helps easy the separation.
Update: Slicehost has some nice tutorials on setting up Nginx.

From their website:
Nginx ("engine x") is a high-performance HTTP server and reverse proxy, as well as an IMAP/POP3/SMTP proxy server. Nginx was written by Igor Sysoev for Rambler.ru, Russia's second-most visited website, where it has been running in production for over two and a half years. Igor has released the source code under a BSD-like license. Although still in beta, Nginx is known for its stability, rich feature set, simple configuration, and low resource consumption.



Bob Ippolito says of Nginx:

The only solution I know of that's extremely high performance that offers all of the features that you want is Nginx... I currently have Nginx doing reverse proxy of over tens of millions of HTTP requests per day (thats a few hundred per second) on a single server. At peak load it uses about 15MB RAM and 10% CPU on my particular configuration (FreeBSD 6).

Under the same kind of load, Apache falls over (after using 1000 or so processes and god knows how much RAM), Pound falls over (too many threads, and using 400MB+ of RAM for all the thread stacks), and Lighty leaks more than 20MB per hour (and uses more CPU, but not significantly more).

See Also

 

  • Nginx vs. Lighttpd for a small VPS
  • nginx: high performance smpt/pop/imap proxy
  • Light Weight Web Server
  • Nginx and Mirror on Demand
  • Running Drupal with Clean URL on Nginx or Lighttpd
  • Goodbye Pound, Hello Nginx
  • Using Nginx, SSI and Memcache to Make Your Web Applications Faster
  • Ruby on Rails hosting with Nginx
  • NGINX Tutorial: Developing Modules
  • Reader Comments (10)

    Do not use it for HTTPs it has serious problems.

    November 29, 1990 | Unregistered CommenterAnonymous

    why ?

    November 29, 1990 | Unregistered CommenterLuis Eduardo Bohrer da Silva

    Anonymous.. what serious problems?
    Can you expand on that please.

    We have used nginx for SSL proxy instead of something like stunnel and the performance was much better and never saw any isssues.

    November 29, 1990 | Unregistered Commenteratif.ghaffar

    I'm in the process of converting everything I do to use nginx myself.

    I haven't found a single reason NOT to use it. Simple configuration, lightning fast, etc. Everything I've read raves about it. I'm excited to start using it, and disappointed we just paid for redundant layer7 capable load balancers, since we could have used nginx as a reverse proxy to do the HTTP-aware load balancing too!

    November 29, 1990 | Unregistered Commentermike503

    Anybody has experiences in a Tomcat (JAva Servlet) context. I guess it could use the HTTP Connector, bu I wonder if AJP would be supported by nginx.

    November 29, 1990 | Unregistered CommenterBernd Eckenfels

    Does anyone know what happened regarding the issues with caching of uploads slowing performance in some cases (I think it was mostly an issue when using Nginx as a reverse-proxy) ?
    It is the only weakness I was aware of...

    November 29, 1990 | Unregistered Commenterdmaclay

    Anybody has experiences in a Tomcat (JAva Servlet) context. I guess it could use the HTTP Connector, bu I wonder if AJP would be supported by nginx.

    November 29, 1990 | Unregistered CommenterAnonymous

    Nginx suffered "serious" SSL problems for about 2 weeks a few months ago *if* you used the development version of Nginx and *if* you also used Firefox 3 rc5 and *if* you also used a chained certificate.

    In short, claims of serious SSL issues, while containing a grain of truth, are mostly FUD.

    November 29, 1990 | Unregistered CommenterCliff Wells

    Has the product beaten its competitors outstanding out there?
    -----
    http://underwaterseaplants.awardspace.com">sea plants
    http://underwaterseaplants.awardspace.com/seagrapes.htm">sea grapes...http://underwaterseaplants.awardspace.com/plantroots.htm">plant roots

    November 29, 1990 | Unregistered Commenterfarhaj

    Here is http://groups.google.com/group/turbogears/browse_thread/thread/a56960ea38e3ea6d/e78e98897e720172#eac050092252b78d">Bob Ippolito's original post in the TurboGears mailing list, where he quotes the figures about nginx.

    November 29, 1990 | Unregistered CommenterDan Dascalescu

    PostPost a New Comment

    Enter your information below to add a new comment.
    Author Email (optional):
    Author URL (optional):
    Post:
     
    Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>