Analyse
Der Grund liegt in der falschen Einstellung relevanter Parameter, die leicht gelöst werden kann
Es gibt drei Probleme, wenn Integration von nginx und uwsgi Parameter können verwendet werden, um das Timeout festzulegen:
1.uwsgi_connect_timeout:
Der Standardwert beträgt 60 Sekunden, das Timeout für die Verbindung zum uwsgi-Server, Dieser Wert darf 75 Sekunden nicht überschreiten, versuchen Sie, die Verbindung zu trennen
2.uwsgi_read_timeout:
Der Standardwert beträgt 60 Sekunden Nginx wartet darauf, dass der uwsgi-Prozess Antwortdaten sendet. Wenn ein uwsgi-Prozess lange ausgeführt werden muss, um Ausgabeergebnisse zu erzielen, müssen Sie diesen Parameter erhöhen. Wenn in der Fehlerprotokolldatei
angezeigt wird Bei Upstream-Zeitüberschreitung muss dieser Parameter erhöht werden. Wenn nach dem Timeout-Zeitraum keine Antwort empfangen wird, schließt Nginx die Verbindung
3.uwsgi_send_timeout:
Der Standardwert beträgt 60 Sekunden, der Timeout-Zeitraum für Nginx zum Senden von Anforderungen zum uwsgi-Prozess. Das Timeout wird anhand der Zeit zwischen zwei Schreibvorgängen berechnet, nicht anhand der gesamten Anforderung. Wenn nach Ablauf der Zeitspanne keine Aktion geschrieben wird, schließt nginx die Verbindung
Außerdem: uwsgi selbst hat auch einen Parameter Harakiri Wenn jede Anfrage mehr Zeit als diesen Wert benötigt, wird die Anfrage ausgeführt aufgegeben werden. Behandeln Sie den entsprechenden Worker, der zurückgefordert wird
Meine Instanz:
uwsgi.ini
nginx.conf
xtyw_file.conf->location (diese Konfiguration wird durch den Include-Import in nginx.conf wirksam)
Das Obige stellt django uwsgi nginx - Error:nginx:504 Gateway Time out vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.