logo oujood
🔍

Déployer Django avec Gunicorn et Nginx

Combinez la puissance d'un serveur WSGI et d'un serveur HTTP pour une application stable.

OUJOOD.COM

Le serveur de développement que vous utilisez avec runserver est pratique, mais il n'est pas fait pour le monde réel. Il est lent et ne peut gérer qu'une seule requête à la fois. Pour un site en ligne, on utilise un duo qui a fait ses preuves : Gunicorn pour faire tourner le code Python et Nginx pour gérer les connexions des utilisateurs.

Gunicorn : Le serveur d'application

Gunicorn est un serveur WSGI. Son rôle est simple : il prend les requêtes HTTP et les traduit pour que Django puisse les comprendre. Il peut lancer plusieurs "workers" (processus) en parallèle, ce qui permet à votre site de répondre à plusieurs personnes en même temps sans ralentir.

  📋 Copier le code

gunicorn --workers 3 mon_projet.wsgi:application

Nginx : Le garde-barrière

Je vous déconseille de laisser Gunicorn répondre directement aux internautes. On place devant lui Nginx, qui agit comme un "Reverse Proxy". Nginx est incroyablement rapide pour servir les fichiers statiques (CSS, images) et il protège Gunicorn des attaques directes. Il s'occupe aussi de gérer le certificat SSL (HTTPS).

Exemple de configuration Nginx

Voici à quoi ressemble un fichier de configuration typique pour lier Nginx à votre application Django. C'est ici que vous définissez comment le trafic doit être redirigé vers Gunicorn.

  📋 Copier le code

server {
    listen 80;
    server_name votre-site.com;

    location /static/ {
        root /var/www/mon_projet/;
    }

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Cette architecture est le standard pour la plupart des serveurs Linux (VPS). Elle demande un peu de configuration manuelle, mais elle vous offre un contrôle total sur vos performances. Si vous préférez une solution plus automatisée, vous pouvez regarder du côté du déploiement sur Heroku.

Par carabde | Mis à jour le 09/05/2026