[Nginx]: [Docker]
Accéder au serveur Pour accéder à votre serveur, dans un terminal écrire la commande si dessous:
ssh user@ip_serveur
Configuration serveur Ubuntu + Nginx
sudo apt update
sudo apt upgrade
sudo apt install nginx ufw ca-certificates curl python-is-python3 python3-pip postgresql-client -y
Installation Docker
sudo install -m 0755 -d /etc/apt/keyrings
csudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Pour vérifier l’installation de Nginx, faire la commande suivante:
systemctl status nginx
Autoriser le serveur le firewall pour Nginx et OpenSSH, puis activer le firewall et vérifier son statu
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Après avoir autoriser le firewall, créer un fichier de configuration nginx, puis copier la configuration
nano /etc/nginx/site-avaible/file_name
upstream backend_app { server 127.0.0.1:8000; }
server {
listen 80;
server_name adress_ip; # remplacer par un nom de domaine ou IP du serveur
client_max_body_size 500M;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
location /grafana/ {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket pour Grafana Live (dashboards temps réel)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Streams longs (Explore Loki/Tempo)
proxy_read_timeout 300s;
proxy_buffering off;
}
# Frontend SPA (catch-all)
location / { proxy_pass http://backend_app; }
}
ln -s /etc/nginx/site-avaible/file_name /etc/nginx/site-enable/
nginx -t
systemctl status nginx