Serving the app
The processes and proxies between a browser and your Django code.
Serving is everything between the browser and your views: DNS and TLS, the reverse proxy, the app server, and process supervision. Most production errors that are not in your code happen here.
The topics follow the path of a request, from the certificate on the edge down to the Gunicorn workers and the systemd units that keep them running.
- Gunicorn & app servers47 guides
The WSGI and ASGI servers that run Django: Gunicorn, uWSGI, Uvicorn, Granian, and mod_wsgi, and how their workers fail.
- Nginx & reverse proxies70 guides
Nginx, Caddy, Traefik, Apache, and CDNs in front of Django: routing, buffering, limits, and the status codes they produce.
- HTTPS, TLS & DNS31 guides
Domains, certificates, redirects, and the settings that make Django agree with its proxy about HTTPS.
- ASGI & WebSockets16 guides
Async Django in production: ASGI servers, Channels, WebSockets, and when async is worth it.
- systemd & process supervision11 guides
Keeping Gunicorn, Celery, and scheduled jobs running: systemd units, environment files, timers, and Supervisor.
- APIs & frontends17 guides
Django as an API behind a separate frontend: REST, GraphQL, CORS, and splitting hosts.
192 topic memberships across the area; a guide can belong to more than one topic.