What you'll learn
- How to deploy Django to a secure production environment
- Understand the architecture of a Django deployment
- What options are available in the tech stack (Linux, Web server, WSGI, Database, SSL)
- How to configure PostgreSQL database
- How to configure gunicorn WSGI server
- How to configure Nginx web server
- How to configure SSL with free LetsEncrypt certificates or self-signed certificates
- How to update and backup your deployment
- How to setup a protected development site
Requirements
- Basic Python experience
- Basic Django experience
- Basic Linux experience
Description
I will walk you through all the major components of deploying Django.
Learn about the architecture of a deployment and how the different pieces fit together. You will understand the differences and similarities between different options for:
Linux distribution (Debian vs Ubuntu vs CentOS vs Fedora)
Web server (Nginx vs Apache2)
Database server (SQLite vs MySQL vs MariaDB vs PostgreSQL)
WSGI server (uWSGI vs gunicorn vs waitress)
SSL certificates (self-signed vs LetsEncrypt)
The first portion of the course will talk about the architecture and the role of each component. I will also discuss alternative architectures and things to consider when planning. I'll talk about the different options and which ones I recommend for various situations. The second portion of the course will be an actual walkthrough, step-by-step, of deploying a Django project to production with security in mind. At the end of the course I'll wrap up with showing you how you can automate updates and backups.
When you're done with the course you'll know all my tips and tricks, have a solid understanding of the architecture to make well informed choices.
You can ask me questions in the Q&A section of the course and learn from others. If you have a unique situation, share your question and I will help you. Remember, you're not just buying a set of videos, you're taking a course and I am a resource for you as your instructor.
Students should already have proficient Linux and Python skills with some familiarity with Django.
Who this course is for:
- Python or Django developers
- Devops engineers working with Django, Flask, or other WSGI web apps
- Linux system administrators working with Django, Flask, or other WSGI web apps
- Security Engineers who work with Python web apps
- Anyone curious how a Django application is deployed
Instructor
I started programming in the 1990s and have over 15 years of of industry experience including software engineering, application security, cybersecurity architecture and automation with enterprise-level companies.
I am the webmaster of DevDungeon, a blog and virtual hackerspace community. I have spoken at tech conferences like GopherCon and have a book titled Security with Go published by Packt Publishing.
My passion is to teach others in the most efficient and practical way possible on topics like free software, programming, cybersecurity, and philosophy.