Einsatz von Django mit Gunicorn und Nginx

Dies ist eine umfassende Frage, aber ich möchte eine kanonische Antwort erhalten. Ich habe versucht, eine Site mithilfe von bereitzustellenGunicorn undNginx imDjango. Nachdem ich unzählige Tutorials gelesen habe, war ich erfolgreich, aber ich kann nicht sicher sein, ob die Schritte, die ich befolgt habe, gut genug sind, um eine Site ohne Probleme zu betreiben, oder ob es vielleicht bessere Möglichkeiten gibt, dies zu tun. Diese Unsicherheit ist ärgerlich.

Deshalb suche ich nach einer sehr detaillierten und gut erklärten Antwort für Neulinge. Ich möchte nicht zu viel erklären, was ich weiß und was ich nicht weiß, da dies die Antworten ein wenig verzerren und andere Menschen in geringerem Maße von Ihren Antworten profitieren könnten. Einige Dinge, die ich gerne sehen würde, sind:

Welches "Setup" haben Sie am besten gesehen? ich benutztevirtualenv und bewegte meineDjango Projekt in dieser Umgebung, aber ich habe andere Setups gesehen, in denen es einen Ordner für virtuelle Umgebungen und andere für Projekte gibt.

Wie kann ich Dinge so einrichten, dass mehrere Sites auf einem einzigen Server gehostet werden können?

Warum manche Leute vorschlagen, mitgunicorn_django -b 0.0.0.0:8000 und andere schlagen vorgunicorn_django -b 127.0.0.1:8000? Ich habe Letzteres in einer Amazon EC2-Instanz getestet, aber es hat nicht funktioniert, während Ersteres problemlos funktioniert hat.

Welche Logik steckt hinter der Konfigurationsdatei von nginx? Es gibt so viele Tutorials mit drastisch unterschiedlichen Konfigurationsdateien, dass ich mich nicht sicher bin, welche besser sind. Zum Beispiel verwenden einige Leutealias /path/to/static/folder und andereroot /path/to/static/folder. Möglicherweise können Sie Ihre bevorzugte Konfigurationsdatei freigeben.

Warum erstellen wir eine Symlink zwischensite-available undsites-enabled im/etc/nginx?

Einige Best Practices sind wie immer willkommen :-)

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage