mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-24 18:14:22 +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.
|
proche de celui en production.
|
||||||
Voici les étapes à suivre pour ça.
|
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
|
## Installer les dépendances manquantes
|
||||||
|
|
||||||
Pour installer complètement le projet, il va falloir
|
Pour installer complètement le projet, il va falloir
|
||||||
@ -20,19 +47,19 @@ Commencez par installer les dépendances système :
|
|||||||
=== "Debian/Ubuntu"
|
=== "Debian/Ubuntu"
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install postgresql redis libq-dev
|
sudo apt install postgresql redis libq-dev nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "Arch Linux"
|
=== "Arch Linux"
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -S postgresql redis
|
sudo pacman -S postgresql redis nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
=== "macOS"
|
=== "macOS"
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
brew install postgresql redis nginx lipbq
|
brew install postgresql redis lipbq nginx
|
||||||
export PATH="/usr/local/opt/libpq/bin:$PATH"
|
export PATH="/usr/local/opt/libpq/bin:$PATH"
|
||||||
source ~/.zshrc
|
source ~/.zshrc
|
||||||
```
|
```
|
||||||
@ -139,6 +166,102 @@ poetry run ./manage.py populate
|
|||||||
N'oubliez de quitter la session de l'utilisateur
|
N'oubliez de quitter la session de l'utilisateur
|
||||||
postgres après avoir configuré la db.
|
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
|
## Mettre à jour la base de données antispam
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user