1. SSH sur votre serveur
ssh root@<server-ip>
2. Trouver les identifiants de connexion
- Utilisateur par défaut :
django - Mot de passe enregistré dans :
/root/.cloudzy-creds
(Facultatif) Modifier le mot de passe par défaut : passwd django
3. Passer à l'utilisateur de l'application
su - django
4. PostgreSQL (facultatif)
Si PostgreSQL est installé, configurez la base de données et l'utilisateur (exemple) :
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Ensuite, mettez à jour settings.py DATABASES avec l'hôte localhost, le nom de la base de données, l'utilisateur et le mot de passe. Exécutez python manage.py migrate.
5. Déployer votre application
Un exemple d'application Flask est déjà en cours d'exécution et accessible à : http://<server-ip
Pour déployer votre propre application :
- Accédez au répertoire de votre application (ou clonez un nouveau projet) :
cd~/django_app - (Facultatif) Remplacer l'application par défaut :
gitclone<your_repo_url> . - Activer l'environnement virtuel :
sourcevenv/bin/activate - Installer les paquets requis :
pip install -r requirements.txt - Ajuster
settings.py: définirALLOWED_HOSTSsur votre domaine/IP et vérifier queSTATIC_ROOTexiste. - Migrer la base de données :
python manage.py migrate - Collecter les fichiers statiques dans
STATIC_ROOT:python manage.py collectstatic --noinput - Redémarrer Gunicorn pour appliquer les modifications :
sudo systemctl restart gunicorn - Redémarrer Nginx :
sudo systemctl restart nginx
6. Accéder à votre application
Votre application Django est disponible à l'adresse : http://<server-ip
Nginx transfère les requêtes à Gunicorn via un socket Unix.
7. Changer le port ou le domaine ?
Pour modifier le domaine, le port ou ajouter SSL :
- Modifier la configuration du site Nginx :
sudo nano /etc/nginx/sites-available/gunicorn_django - Tester la configuration :
sudo nginx -t - Recharger Nginx :
sudo systemctl restart nginx
8. Activer HTTPS (facultatif)
Utilisez Certbot pour activer HTTPS.
Installer certbot :
sudo apt install certbot python3-certbot-nginx -y
Obtenir les certificats et mettre à jour Nginx automatiquement :
sudo certbot --nginx -d example.com
Test :
nginx -t && sudo systemctl reload nginx