You are frustrated with Django Deployment…
You don’t know PostgreSQL, nginx, Gunicorn, supervisor, DNS…
You don’t know where to get hosting, or which OS and version to use. You don’t know the OS and its command line, users, groups, permissions, and more.
But there are plenty of guides. So you choose one and you read it.
It only tells you what to type in line by line, without really explaining the concepts. If one thing doesn’t go 100% as it is supposed to go, you are immediately up shit creek without a paddle.
Enter my book:
Deploying Django on a single Debian or Ubuntu server
No voodoo debugging
You won’t get endless options; you’ll get best practices and focused explanations. You will be understanding what’s going on. You won’t be afraid to touch your servers lest they break.
Step by step
Ever got overwhelmed by trying to learn GNU/Linux, users, permissions, nginx, Gunicorn, supervisor, PostgreSQL, all at the same time, because a tutorial said so? Learn everything step by step, until you get everything right.
Do the tutorials tell you how to backup? Or is your customers’ data waiting for a disaster? Learn to choose your storage and create no-nonsense recovery plans.
A whole new world
Deployment is system administration. It’s not just another library or technique; it’s a whole new world. Learn it properly, focusing on what you need as a Django developer.
Users and directories
Does /home/joe/mydjangoproject seem a little dirty for deployment? Organize your deployment in a well-thought directory scheme that will teach you Debian/Ubuntu at the same time.
Gunicorn and systemd
Understand why you need a WSGI server and the latest and best way of starting it.
Learn the pros and cons of using a local mail server for your Django project to send email notifications.
Confused about template0, template1, sudo -u postgres psql whatever? Get a grip while setting up your Django deployment.
I am clueless about Linux. Will I be able to read the book?
Yes! But it’s a good idea to first get the email course, which teaches you some basics.
What does the book contain?
Briefly, it tells you how to setup your DNS, takes you through setting up appropriate users and permissions and installing Django in appropriate directories, setting up nginx or Apache, serve your static and media files, running your Django app with Gunicorn, setup email, logging and caching, setup PostgreSQL, and backup and recover the system.
For more information, take a look at the table of contents.
I can already deploy Django. Is the book going to be useful to me?
If you are experienced enough, I don’t recommend it. While it is going to be useful, the question isn’t if it’s going to be useful, but whether it’s going to be more useful than spending your money and time elsewhere. There are probably more useful books for you.
A case for which it could be useful is if you train new people. In the past I have spent lots and lots of time explaining this stuff to juniors. I wish I had this book back then to give them.
I want to deploy Django on Heroku or AWS. Is the book going to be useful to me?
If you don’t know much about deploying Django, then yes. Deploying on Heroku isn’t that much different from deploying on a single server. You need to understand the basics first before doing something more advanced. Many people follow some tutorials and helpers on Heroku and are able to do their job. However, if you don’t understand what’s going on behind the scenes, you will be helpless when something breaks.
Can I deploy on Windows?
You can, but I don’t treat that in the book.
It’s easier to learn GNU/Linux and deploy on GNU/Linux than it is to deploy on Windows, even if you know Windows already. In order to read the book, you don’t need to know any Linux beyond what is contained in the email course.
Does the book explain Celery, SSL, zero-downtime upgrades, deploying without root access, and automation?
I included the absolutely essential in this first version. Additional information to be included in future versions depends on what readers will ask for. (Future versions will be made available free of charge to people who have already bought the book.)
100% Satisfaction Guarantee
You are intrigued but not certain this book will be useful to you? Ask for a refund within 60 days of purchase. I will refund the amount without asking questions (but if you can give me a quick explanation of what’s wrong I will appreciate it).
Please ask me for the refund, at email@example.com; don’t ask any intermediary such as Gumroad, PayPal, or your bank.