Recently I went through the process of deploying this site on the web. I had to utilise Ubuntu and Linux in order to achieve this. The main tools and programs involved besides basic Linux were Gunicorn and Nginx. Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX, it executes Python and is better at handling certain types of requests. Nginx is the webserver that will handle many requests for images and static resources.
Requests that need to be dynamically generated will then be passed on to the application server Gunicorn. Apparently these two programs working together handle the HTTP requests that can be received. Nginx will receive the request and if it's a dynamic request (generally based on URL patterns) then it will give that request to Gunicorn, which will process it, and then return a response to Nginx which then forwards the response back to the original client (Paul J. Davis - Gunicorn developer).
To be honest, at this stage my understanding of these processes and programs is limited, but it was great to get some exposure to Linux. After the deployment, I had an issue with updating my blog code with Filezilla. Initially I had to change the default Python text editor that was being used (I changed it to IDLE for now). Filezilla is good at noticing when you've made a change to a file on your computer and will automatically ask if you'd like to update it on your server. The process is automatic, however (and this was my issue initially) make sure that you've got the correct path in the server side open when you do this, otherwise you'll get files sent to the wrong folder on your server and your changes won't actually show. If all else fails just make sure you've got the same paths open in Filezilla and update the file manually. Right-click on the file on the PC side and choose upload, then just choose 'Overwrite' when the prompt comes up (it has to come up if you've aligned the paths correctly). After this, the files should be uploaded successfully and you'll see the end-result.