Ich versuche derzeit, meine Django-App auf einem Ubuntu 18.04.3-Droplet bereitzustellen. Ich folge diesemLernprogramm.
Ich habe das Tutorial erfolgreich abgeschlossen und meine App wird bereitgestellt, wenn ich die IP-Adresse meines Servers und „www.domainname.com“ besuche. Wenn ich jedoch versuche, die Adresse meiner Domain ohne „www“ @ „domainname.com“ zu besuchen, wird angezeigt
die Verbindung wurde verweigert.
Und wie ich bereits sagte: Wenn ich direkt zur IP-Adresse gehe, wird sie hundertprozentig korrekt angezeigt und stellt die statischen Dateien der App bereit.
Ich gehe davon aus, dass es etwas mit der NGINX-Konfiguration zu tun hat, da ich alle anderen Teile des Tutorials korrekt und ohne Fehler abgeschlossen habe.
Hier ist mein NGINX-Serverblock @ /etc/nginx/sites-available/mysite
:
server {
listen 80;
server_name 165.227.222.0;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ethan/cfsite/cfsite;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
Ich habe den Standardserverblock vollständig auskommentiert, /etc/nginx/sites-available/default
da ich gelesen habe, dass er mit symbolisch verknüpft ist /etc/nginx/sites-enabled/
.
Wenn ich sudo tail -F /var/log/nginx/error.log
das hier bekomme:
2019/09/26 14:25:58 [alert] 6680#6680: *3 open socket #3 left in connection 4
2019/09/26 14:25:58 [alert] 6680#6680: aborting
Ich gehe davon aus, dass irgendwo ein Problem mit einem Proxy vorliegt oder der Registrar nicht korrekt zu DigitalOcean weiterleitet, da der direkte Zugriff auf die DO-IP die richtigen Ergebnisse mit bereitgestellten statischen Dateien liefert.
Bitte helfen Sie! Es handelt sich um eine einfache Portfolio-Website und ich habe noch nie zuvor einen Server konfiguriert.
Antwort1
Ein paar Punkte:
Servernamesollte normalerweise alle Namen enthalten, die Sie für diesen Server verwenden möchten, z. B.:
server_name example.com www.example.com 165.227.222.0;
Alle DNS-Einträge für Ihre Domäne sollten einen „nackten“ A-Eintrag haben, der auf die IP Ihres Nginx-Servers verweist:
Beispiel: BIND
example.com. IN A 165.227.222.0 ; A Record for a "base" domain name
Wenn Sie einen Drittanbieter für DNS verwenden, kann die Art und Weise, wie Sie diesen „nackten“ Eintrag angeben, unterschiedlich sein. Bei DNS-Diensten von Digital Ocean scheint dies mit dem
@
Symbol zu geschehen.Beispiel: Digital Ocean „Bare“ A Record