1. SSH vers votre serveur
ssh root@<server-ip>
2. Trouver les identifiants de connexion
- Utilisateur par défaut :
django - Mot de passe stocké dans :
/root/.cloudzy-creds
(Facultatif) Modifiez le mot de passe par défaut : passwd django
3. Passer à l'utilisateur de l'application
su - django
4. PostgreSQL (facultatif)
Si PostgreSQL a été 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
Puis mettre à jour settings.py DATABASES avec l'hôte localhost, nom de la base de données, utilisateur et mot de passe. Exécutez python manage.py migrate.
5. Déployez votre application
Un exemple d'application Flask est déjà en cours d'exécution et accessible à l'adresse suivante : 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 - Installez les paquets requis :
pip install -r requirements.txt - Ajuster
settings.py: définirALLOWED_HOSTSà votre domaine/IP et assurez-vous queSTATIC_ROOTexiste. - Migrer la base de données :
python manage.py migrate - Collecter l'électricité statique dans
STATIC_ROOT:python manage.py collectstatic --noinput - Redémarrez Gunicorn pour appliquer les modifications :
sudo systemctl restart gunicorn - Redémarrer Nginx :
sudo systemctl restart nginx
6. Accédez à votre application
Your Django app is available at: http://<server-ip
Nginx effectue un proxy inverse des requêtes vers Gunicorn via un socket Unix.
7. Changer de port ou de domaine ?
Pour modifier le domaine, le port ou ajouter un certificat SSL :
- Modifier la configuration du site Nginx :
sudo nano /etc/nginx/sites-available/gunicorn_django - Configuration du test :
sudo nginx -t - Recharger Nginx :
sudo systemctl restart nginx
8. Activer HTTPS (facultatif)
Utilisez Certbot pour activer HTTPS.
Installez certbot :
sudo apt install certbot python3-certbot-nginx -y
Obtenir des certificats et mettre à jour Nginx automatiquement :
sudo certbot --nginx -d example.com
Test :
nginx -t && sudo systemctl reload nginx