Pour déployer un projet Django, une série d’étapes doivent être suivies pour assurer un lancement réussi et efficace.
1. Vérification du projet : Avant de commencer le déploiement, il est crucial de vérifier et de tester le projet afin de s’assurer qu’il fonctionne correctement dans l’environnement de développement.
1. Préparation du projet pour le déploiement : Cela implique généralement des activités telles que la configuration de paramètres spécifiques au déploiement et la collecte de tous les fichiers statiques dans un seul endroit qui seront servis par le serveur de production.
1. Configuration de la base de données de production : Qui peut être différente de la base de données utilisée lors du développement. Par exemple, vous pouvez utiliser SQLite pendant le développement, mais vous aurez besoin de quelque chose de plus robuste, comme PostgreSQL, pour la production.
1. Transfert du projet vers le serveur de production : Cela peut être fait de différentes manières, soit en utilisant Git, soit en téléchargeant directement les fichiers sur le serveur. C’est à cette étape que vous installerez également toutes les dépendances du projet.
1. Configuration de l’environnement de production : Cela concerne la configuration du serveur Web (par exemple, NGINX ou Apache) et du serveur d’application WSGI (par exemple, Gunicorn ou uWSGI).
1. Démarrage de l’application du projet : Une fois tout configuré, vous pouvez enfin démarrer votre projet Django sur le serveur de production.
Tout au long de ce processus, vous aurez probablement besoin de recycler le serveur Web/WSGI chaque fois que vous faites une mise à jour du code de votre projet.
Un exemple de déploiement pourrait être le suivant :
Admettons que vous avez développé votre projet Django en utilisant SQLite comme base de données et que vous avez maintenant besoin de le déployer sur un serveur Ubuntu qui utilise PostgreSQL comme base de données de production. Vous pouvez commencer par installer PostgreSQL et créer votre base de données de production. Ensuite, vous pouvez changer les paramètres de la base de données dans votre fichier settings.py pour pointer vers la nouvelle base de données.
Vous pouvez ensuite recueillir tous les fichiers statiques en utilisant la commande “python manage.py collectstatic”.
Ensuite, vous pouvez transférer votre projet sur le serveur de production en utilisant Git, puis installer toutes les dépendances en utilisant pip.
Ensuite, vous pouvez configurer NGINX à servir les fichiers statiques et à acheminer toutes les autres demandes vers Gunicorn. Vous pouvez ensuite démarrer Gunicorn pour qu’il s’exécute en arrière-plan.
Lorsque vous avez besoin de mettre à jour le code de votre projet, vous pouvez simplement tirer les changements en utilisant Git, puis recycler Gunicorn pour qu’il utilise le nouveau code.
Sources :
- Django documentation (https://docs.djangoproject.com/fr/3.2/intro/tutorial01/)
- Digital Ocean tutorials (https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-20-04)