Skip to content

Déploiement : Django [OLD]

Alexander Wohlfahrt edited this page Feb 28, 2023 · 2 revisions

IMPORTANT Cette documentation remplace le chapitre du même nom dans la documentation originale : https://github.com/HE-Arc/slides-devweb/wiki/D%C3%A9ploiement-:-Django

Nginx

Nginx est utilisé comme serveur web sur le container. La configuration que vous devez modifier se trouve dans /home/django/project/nginx.conf.

La config de Nginx se trouve en réalité dans /etc/nginx/sites-enabled/default, nous avons modifié légèrement le serveur afin d'en créer un lien symbolique pour vous faciliter la tâche et éviter des problèmes de sauvegarde en cas de soucis avec le serveur.

Configuration par défaut :

# Django
server {
    listen 80;
    server_name _;

    location / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /static/ {
        alias /home/django/.project-default/backend/static/;
    }
}

# Vuejs
server {
    listen 81;
    server_name  _;
    root   /home/django/.project-default/frontend/dist;
    location / {
        index  index.html;
        try_files $uri $uri/ index.html /index.html;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

Dans votre projet vous avez un frontend et un backend, il faut donc avoir une configuration pour chaque partie. Dans ce chapitre nous allons devoir l'adapter pour que le frontend puisse fonctionner, la configuration du backend est déjà correcte pour Nginx.

Vous devez donc ici adapter la configuration de Nginx afin de la faire pointer sur le dossier dist.
Le dossier dist peut être généré en exécutant npm run build.

Si vous changez la configuration Nginx, vous devrez redémarrer Nginx avec sudo service nginx restart.

Test

A ce stade, votre frontend devrait fonctionner.

L'url de votre application frontend est la suivante : https://<PROJECT>.k8s.ing.he-arc.ch