După cum spune titlul, vreau să găzduiesc două proiecte django diferite în aceeași picătură (NGINX, Gunicorn, ubuntu) cu subdomenii diferite.Unul va fi site-ul nostru principal example.com. care funcționează și funcționează perfect. Dorim să găzduim site-ul staging.example.com în aceeași picătură.
Am creat noi socketuri și fișiere de serviciu pentru site-ul de programare și le-am activat și activat, dar problema este că nginx indică în continuare fișierele din directorul domeniului principal și nu către directorul de pregătire și, prin urmare, primim această eroare mai jos, chiar dacă aceste domenii au fost adăugate. în gazdele permise ale settings.py ale site-ului de staging
DisallowedHost la / Antet HTTP_HOST nevalid: „staging.example.com”. Poate fi necesar să adăugați > „staging.example.com” la ALLOWED_HOSTS
Aici este fișierul nostru staging.guinicorn.service
[Unitate]
Descriere=staging.gunicorn daemon
Necesită=staging.gunicorn.socket
După=rețea.țintă
[Serviciu]
Utilizator=admin
Grup=www-date
WorkingDirectory=/home/admin/example1staging
ExecStart=/home/admin/example1staging/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/run/staging.gunicorn.sock djangoproject.wsgi:application
[Instalare]
WantedBy=multi-user.target
Aici este fișierul nostru staging.guicorn.socket
[Unitate]
Descriere=staging.gunicorn socket
[Priză]
ListenStream=/run/staging.gunicorn.sock
[Instalare]
WantedBy=sockets.target
În cele din urmă, aici este configurația noastră nginx
Server {
asculta 80;
asculta [::]:80;
server_name example.com www.example.com;
returnează 302 https://$server_name$request_uri;
}
Server {
# Configurare SSL
asculta 443 ssl http2;
asculta [::]:443 ssl http2;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;
ssl_verify_client activat;
rădăcină /var/www/html;
index index.html index.htm index.nginx-debian.html;
locație = /favicon.ico { access_log off; log_not_found off; }
locație /static/ {
root /home/admin/example1;
}
Locație / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
Server {
asculta 80;
asculta [::]:80;
nume_server staging.example.com www.staging.example.com;
returnează 302 https://$server_name$request_uri;
}
Server {
# Configurare SSL
asculta 443 ssl http2;
asculta [::]:443 ssl http2;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_client_certificate /etc/ssl/cloudflare.crt;
ssl_verify_client activat;
rădăcină /var/www/html;
index index.html index.htm index.nginx-debian.html;
locație = /favicon.ico { access_log off; log_not_found off; }
locație /static/ {
root /home/admin/example1staging;
}
Locație / {
include proxy_params;
proxy_pass http://unix:/run/staging.gunicorn.sock;
}
}
Orice fel de ajutor ar fi extrem de apreciat!