I remember one of the difficult parts for me to grasp about Django was deployment. New developers usually focus on learning the framework, but once the work is done, deployment reality kicks in. Unless you come from a programming or solutions architect background, this step is not trivial.
One would think that after your application is written and tested you’re ready to go. Unfortunately this is not true and there are a lot of moving parts.
There are a number of cloud providers that will take your project and deploy it in no time. However, I always try to avoid black boxes by having an understanding of what’s going on behind the scenes.
This is by no means the ultimate Django (or WSGI app) deployment guide, but rather a reference to understand how to connect the dots. However, this is an effective and simple way to get started.
The infographic describes a typical Django project deployment using Nginx and Gunicorn.