Lösung für Djangos Unfähigkeit, mit dem uwsgi+nginx-Proxy auf statische Ressourcen zuzugreifen

Lösung für Djangos Unfähigkeit, mit dem uwsgi+nginx-Proxy auf statische Ressourcen zuzugreifen

Beim Bereitstellen des uwsgi+nginx-Proxys Django ist der Zugriff über uwsgi normal, bei Verwendung des Nginx-Proxy-Port-Zugriffs kann jedoch nicht auf statische Ressourcen zugegriffen werden.

Lösung:

  • Überprüfen Sie den Nginx-Startbenutzer und gewähren Sie diesem Benutzer Zugriff auf statische Ressourcen.
  • Mein statisches Ressourcenverzeichnis ist beispielsweise: /data/django/static
  • Ermächtigung: ch mod 755 /data/django/static -R

uwsgi-Konfiguration:

# uwsig beginnt mit der Verwendung der Konfigurationsdatei [uwsgi]
# Das Stammverzeichnis des Projekts ist chdir=/data/django/dailyfresh
#Geben Sie die Anwendung des Projekts an, die sich vom Startbefehl unterscheidet --wsgi-filemysite/wsgi.py
#logsquery Ihre eigene Anwendung namemodule=dailyfresh.wsgi:application
#die lokale Unix-Socket-Datei, die dann mit Nginx kommuniziert
#Geben Sie den Dateipfad von Sock an. Diese Sock-Datei wird in uwsgi_pass von nginx für die Kommunikation zwischen nginx und uwsgi konfiguriert. #Unterstützt IP+Port-Modus und Socket-Dateimodus #socket=/etc/uwsgi/uwsgi.sock
socket=127.0.0.1:9001
# Anzahl der Prozesse Prozesse = 8
# Anzahl der Arbeiter pro Prozessarbeiter=5
procname-prefix-spaced=dailyfresh # uwsgi Prozessnamenpräfix py-autoreload=1 # py-Dateiänderung, automatisches Laden # IP-Port angeben, Webzugriffseintrag http=0.0.0.0:9000
# Starten Sie den Benutzernamen und die Benutzergruppe von uwsgi uid=root
gid=Wurzel
# Aktivieren Sie den Masterprozess master=true
# Unix-Socket und PID-Datei automatisch entfernen, wenn der Dienst beendet wird vacuum=true
# Empfangenen Inhalt serialisieren, Thunder-Lock = true wenn möglich
# Threads aktivieren enable-threads=true
# Legen Sie ein Timeout fest, um weitere Anfragen zu unterbrechen, die das Anfragelimit des Servers überschreiten. harakiri=30
# Setze post-buffering=4096
# Legen Sie das Protokollverzeichnis fest daemonize=/var/log/uwsgi/uwsgi.log
# Die uWSGI-Prozessnummer wird in der PID-Datei = /etc/uwsgi/uwsgi.pid gespeichert.

Nginx-Konfiguration:

Server {
            hören Sie 9002;
            Servername 192.168.2.100;
            Zugriffsprotokoll /var/log/test.log;
            Fehlerprotokoll /var/log/test.log;
            Zeichensatz UTF-8;
            Maximale Client-Body-Größe: 100 M;
            Standort /static{
                    Alias ​​/data/django/dailyfresh/static;
            }
            Standort /Medien{
                    Alias ​​/data/django/dailyfresh/media;
            }
            Standort / {
                    uwsgi_params einschließen;
                    uwsgi_pass 127.0.0.1:9001;
            }
            Fehlerseite 500 502 503 504 /50x.html;
            Standort = /50x.html {
                Stamm-HTML;
            }
}

Dies ist das Ende dieses Artikels über die Lösung des Problems, dass der uwsgi+nginx-Proxy Django nicht auf statische Ressourcen zugreifen kann. Weitere verwandte Inhalte zum Thema „uwsgi+nginx-Proxy Django kann nicht zugreifen“ finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Idee, Nginx + Uwsgi + Django-Projekte auf dem Server bereitzustellen
  • Django-Projekt uwsgi+Nginx Nanny-Level-Bereitstellung Tutorial-Implementierung
  • Detaillierte Bereitstellung von Django uwsgi Nginx in der Produktionsumgebung
  • Beispiel für die Bereitstellung eines Django-Projekts mit uwsgi+nginx
  • Detaillierte Erläuterung der Bereitstellung von Django + Uwsgi + Nginx in der Produktionsumgebung
  • Django2+uwsgi+nginx wird online auf dem Server Ubuntu16.04 bereitgestellt
  • Django + Uwsgi + Nginx, um eine Bereitstellungsmethode für die Produktionsumgebung zu erreichen
  • Lösen Sie alle Probleme bei der Bereitstellung von Django mit nginx+uwsgi (Zusammenfassung)

<<:  Reines CSS, um einen bewölkten Wettersymboleffekt zu erzielen

>>:  Lösen Sie das Problem des MySQL Threads_running-Surge und der langsamen Abfrage

Artikel empfehlen

So implementieren Sie einen binären Suchbaum mit JavaScript

Eine der am häufigsten verwendeten und diskutiert...

Holen Sie sich die IP und den Hostnamen aller Hosts auf Zabbix

zabbix Zabbix ([`zæbiks]) ist eine Open-Source-Lö...

Vue2.x-Reaktionsfähigkeit – einfache Erklärung und Beispiele

1. Überprüfen Sie die Vue-Responsive-Nutzung​ Die...

So verwenden Sie CSS-Overflow: Hidden (Überlauf ausblenden und Floats löschen)

Überlauf ausblenden Damit ist gemeint, dass Text-...

So zeigen Sie Bildinformationen in Docker an

In diesem Artikel müssen wir lernen, wie man Bild...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...

mysql 8.0.19 winx64.zip Installations-Tutorial

Dieser Artikel zeichnet das Installationstutorial...

So implementieren Sie die Paging-Funktion des MyBatis-Interceptors

So implementieren Sie die Paging-Funktion des MyB...

So optimieren Sie Bilder, um die Website-Leistung zu verbessern

Inhaltsverzeichnis Überblick Was ist Bildkomprimi...

Studiennotizen zur MySQL Master-Slave-Konfiguration

● Ich hatte vor, einige Cloud-Daten zu kaufen, um...

Der Vue.js-Cloud-Speicher realisiert die Bild-Upload-Funktion

Vorwort Tipp: Das Folgende ist der Hauptinhalt di...