mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-21 21:53:30 +00:00
add doc for nginx configuration
This commit is contained in:
parent
a637742bb0
commit
1dfd871169
@ -9,6 +9,33 @@ que votre environnement de développement soit encore plus
|
||||
proche de celui en production.
|
||||
Voici les étapes à suivre pour ça.
|
||||
|
||||
!!!tip
|
||||
|
||||
Configurer les dépendances du projet
|
||||
peut demander beaucoup d'allers et retours entre
|
||||
votre répertoire projet et divers autres emplacements.
|
||||
|
||||
Vous pouvez gagner du temps en déclarant un alias :
|
||||
|
||||
=== "bash/zsh"
|
||||
|
||||
```bash
|
||||
alias cdp="cd /repertoire/du/projet"
|
||||
```
|
||||
|
||||
=== "nu"
|
||||
|
||||
```nu
|
||||
alias cdp = cd /repertoire/du/projet
|
||||
```
|
||||
|
||||
Chaque fois qu'on vous demandera de retourner au répertoire
|
||||
projet, vous aurez juste à faire :
|
||||
|
||||
```bash
|
||||
cdp
|
||||
```
|
||||
|
||||
## Installer les dépendances manquantes
|
||||
|
||||
Pour installer complètement le projet, il va falloir
|
||||
@ -20,19 +47,19 @@ Commencez par installer les dépendances système :
|
||||
=== "Debian/Ubuntu"
|
||||
|
||||
```bash
|
||||
sudo apt install postgresql redis libq-dev
|
||||
sudo apt install postgresql redis libq-dev nginx
|
||||
```
|
||||
|
||||
=== "Arch Linux"
|
||||
|
||||
```bash
|
||||
sudo pacman -S postgresql redis
|
||||
sudo pacman -S postgresql redis nginx
|
||||
```
|
||||
|
||||
=== "macOS"
|
||||
|
||||
```bash
|
||||
brew install postgresql redis nginx lipbq
|
||||
brew install postgresql redis lipbq nginx
|
||||
export PATH="/usr/local/opt/libpq/bin:$PATH"
|
||||
source ~/.zshrc
|
||||
```
|
||||
@ -139,6 +166,102 @@ poetry run ./manage.py populate
|
||||
N'oubliez de quitter la session de l'utilisateur
|
||||
postgres après avoir configuré la db.
|
||||
|
||||
## Configurer nginx
|
||||
|
||||
Nginx est utilisé comme reverse-proxy.
|
||||
|
||||
!!!warning
|
||||
|
||||
Nginx ne sert pas les fichiers de la même manière que Django.
|
||||
Les fichiers statiques servis seront ceux du dossier `/static`,
|
||||
tels que générés par les commandes `collectstatic` et
|
||||
`compilestatic`.
|
||||
Si vous changez du css ou du js sans faire tourner
|
||||
ces commandes, ces changements ne seront pas reflétés.
|
||||
|
||||
De manière générale, utiliser nginx en dev n'est pas très utile,
|
||||
voire est gênant si vous travaillez sur le front.
|
||||
Ne vous embêtez pas avec ça, sauf par curiosité intellectuelle,
|
||||
ou bien si vous voulez tester spécifiquement
|
||||
des interactions avec le reverse proxy.
|
||||
|
||||
|
||||
Placez-vous dans le répertoire `/etc/nginx`,
|
||||
et créez les dossiers et fichiers nécessaires :
|
||||
|
||||
```bash
|
||||
cd /etc/nginx/
|
||||
sudo mkdir sites-enabled sites-available
|
||||
sudo touch sites-available/sith.conf
|
||||
sudo ln -s /etc/nginx/sites-available/sith.conf sites-enabled/sith.conf
|
||||
```
|
||||
|
||||
Puis ouvrez le fichier `sites-available/sith.conf` et mettez-y le contenu suivant :
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 8000;
|
||||
|
||||
server_name _;
|
||||
|
||||
location /static/;
|
||||
root /repertoire/du/projet;
|
||||
}
|
||||
location ~ ^/data/(products|com|club_logos)/ {
|
||||
root /repertoire/du/projet;
|
||||
}
|
||||
location ~ ^/data/(SAS|profiles|users|.compressed|.thumbnails)/ {
|
||||
# https://nginx.org/en/docs/http/ngx_http_core_module.html#internal
|
||||
internal;
|
||||
root /repertoire/du/projet;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8001;
|
||||
include uwsgi_params;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ouvrez le fichier `nginx.conf`, et ajoutez la configuration suivante :
|
||||
|
||||
```nginx
|
||||
http {
|
||||
# Toute la configuration
|
||||
# éventuellement déjà là
|
||||
|
||||
include /etc/nginx/sites-enabled/sith.conf;
|
||||
}
|
||||
```
|
||||
|
||||
Vérifiez que votre configuration est bonne :
|
||||
|
||||
```bash
|
||||
sudo nginx -t
|
||||
```
|
||||
|
||||
Si votre configuration n'est pas bonne, corrigez-la.
|
||||
Puis lancez ou relancez nginx :
|
||||
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
Dans votre `settings_custom.py`, remplacez `DEBUG=True` par `DEBUG=False`.
|
||||
|
||||
Enfin, démarrez le serveur Django :
|
||||
|
||||
```bash
|
||||
cd /repertoire/du/projet
|
||||
poetry run ./manage.py runserver 8001
|
||||
```
|
||||
|
||||
Et c'est bon, votre reverse-proxy est prêt à tourner devant votre serveur.
|
||||
Nginx écoutera sur le port 8000.
|
||||
Toutes les requêtes vers des fichiers statiques et les medias publiques
|
||||
seront seront servies directement par nginx.
|
||||
Toutes les autres requêtes seront transmises au serveur django.
|
||||
|
||||
|
||||
## Mettre à jour la base de données antispam
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user