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

Das Prinzip und die Richtung von JavaScript

Wie lässt sich feststellen, worauf dies hinweist?...

Natives JS zur Implementierung der Dropdown-Box-Auswahlkomponente

In diesem Artikelbeispiel wird der spezifische JS...

SQL implementiert LeetCode (180. Fortlaufende Zahlen)

[LeetCode] 180. Aufeinanderfolgende Zahlen Schrei...

MySQL-Installationstutorial unter Centos7

Tutorial zur MySQL-Installation. Zu Ihrer Informa...

Ich habe ein paar coole Designseiten zusammengestellt, die ich gut finde.

Sie müssen Inspiration haben, um eine Website zu g...

Detaillierte Erklärung zum Kopieren und Sichern von Docker-Containerdaten

Hier nehmen wir den Jenkins-Container als Beispie...

Implementierung der One-Click-TLS-Verschlüsselung für die Docker-Remote-API

Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...

Manuelle und geplante Sicherungsschritte für die MySQL-Datenbank

Inhaltsverzeichnis Manuelle Sicherung Timer-Siche...

Detaillierte Erklärung des Vue2 Cube-UI-Zeitwählers

Inhaltsverzeichnis Vorwort 1. Anspruch und Wirkun...

So öffnen Sie externe Netzwerkzugriffsrechte für MySQL

Wie unten dargestellt: Führen Sie hauptsächlich A...