[Django]-Which Server for Django

5👍

There is a great resource for Django Servers and how to configure them.

I think Ngnix will be the best for you given your points of interest. It is fast, reliable, and as you can see from the link, not that hard to set up.

3👍

In my opinion that you didn’t include and is working for me fine it’s using Nginx + Gunicorn. For supervising gunicorn process I’m using supervisord.
So my alternative is:

  • Gunicorn + Nginx + Supervisord
  • Nginx + chaussette + Circus (used in Mozilla)

But different people use different things. You have to check what best suite your needs.

On DjangoCon 2013 Tarek Ziade show us alternative for supervising Django/Python application called Circus that is using Chaussette for hosting application . I think it’s really worth noticing because it’s supervising any Python/Django process directly and have some other nice features.

You can see Tarek Ziade presentation about Circus and comparing it to other solutions here:
http://www.youtube.com/watch?v=YEtTWeeRzUI

2👍

All the main WSGI servers offer good performance and reliability, but which is best is not something anyone can give you an answer to as it really depends on your specific applications requirements. Thus all you will get here is a bunch of personal preferences from people.

Also be very aware that the WSGI server only represents one very small part of your overall stack and when configured properly only contributes a very small percentage to overall response time. In other words, unless you really screw up how you set up the WSGI server, it will not be the bottleneck.

If you want to understand where the bottlenecks are and what you can do to monitor them, go watch my PyCon US 2012 talk which talks about web server bottlenecks and Python web applications.

Leave a comment