Before we get into the details, a quick aside. Open source is famous for its so-called religious wars; much (digital) ink has been spilled arguing over text editors (emacs vs. vi), operating systems (Linux vs. Windows vs. Mac OS), database engines (MySQL vs. PostgreSQL), and — of course — programming languages.
We try to stay away from these battles. There just isn’t enough time. However, there are a number of choices when it comes to deploying Django, and we’re constantly asked for our preferences. Since stating these preferences comes dangerously close to firing a salvo in one of the aforementioned battles, we’ve mostly refrained. However, for the sake of completeness and full disclosure, we’ll state them here. We prefer the following:
- Linux (Ubuntu, specifically) as our operating system
- Apache and mod_python for the Web server
- PostgreSQL as a database server
Of course, we can point to many Django users who have made other choices with great success.