Bootcamp: Chat funktioniert nicht auf dem Produktionsserver

Erstellt am 4. März 2018  ·  5Kommentare  ·  Quelle: vitorfs/bootcamp

WebSocket-Verbindung zu „ ws ://www.freemediaweb.com/sss/“ fehlgeschlagen: Fehler beim WebSocket-Handshake: Unerwarteter Antwortcode: 200

Support

Alle 5 Kommentare

Können Sie zusätzliche Informationen bereitstellen? Dies ist nicht nützlich, um festzustellen, was im Hintergrund passiert. Denken Sie daran, dass Sie das REDIS-Setup bereitstellen müssen, damit dies funktioniert.

Ihre Website ist äußerst anspruchsvoll. Das Problem wurde behoben, obwohl ich jeden Vorschlag von Ihnen lieben würde, wenn ich etwas nicht gemäß den bewährten Verfahren getan habe. Die Bereitstellung auf DigitalOcean ist schwierig, Heroku könnte einfacher sein und ich denke, Sie haben es für Heroku gemacht, da es 'Procfile' enthält. Nginx Config und Daphne Config haben einige Probleme verursacht, deren Lösung ich über das Internet gefunden habe, aber nicht einfach.
1-Separate Serverblöcke für Nginx Http- und Socket-Anfragen erstellt.
2-UWSGI/gunicorn für http und ASGI/Daphne für Websockets verwendet.
3-Runworker wird als Dienst ausgeführt, sodass er bei einem Absturz automatisch neu gestartet wird.
4-Redis mit Sudo-Berechtigungen als Redis.Service
5-Außerdem habe ich einige Änderungen in Routing.py vorgenommen, da die Nginx-Konfiguration mich veranlasst hat, die HTTP- und Websocket-Anforderungen zu trennen, oder zumindest denke ich das.

Ich bezweifle, dass ich alles richtig gemacht habe, aber diese Anwendung scheint wunderbar zu funktionieren. Außerdem würde ich gerne wissen, dass ich nur 1 Arbeiter oder mehr ausführen sollte?

Hallo @ssahilsahil798

Danke für die Kommentare. Du hast Recht, das .Procfile ist da, aber um ehrlich zu sein, benutze ich Heroku nicht, also achte ich nicht wirklich darauf. Ich bevorzuge eine saubere Bereitstellung, aber für diejenigen, die lieber Docker verwenden, gibt es auch diese Grundlage.

Im Wiki gibt es nur Informationen, die Ihnen den Einstieg erleichtern und einige Grundlagen, die Sie nicht vergessen sollten, aber die tiefgreifenden Anforderungen für diese Art von Projekt sprengen den Rahmen und ich überlasse das der Person, die es verwenden wird nur ein weiteres nettes Django-Projekt und es gibt eine Menge Informationen darüber.

Um Ihre Frage zu beantworten, hängt dies von Ihren eigenen technischen Kriterien und Ihrer Fallanalyse ab, vielleicht mehr als einer, aber sie sollte an die Benutzermenge gebunden sein, Sie müssen sie messen und bestimmen, welches das beste Ergebnis ist.

Obwohl ich Ihnen sagen möchte, dass Ihr Code einen Fehler enthält. Es verwendet Django 1.6, daher sollten Sie ab __future__ unicode_literals in /bootcamp/feeds/views.py importieren. Da Sie das nicht verwendet haben, wird "UnicodeEncodeError" ausgegeben - Der ASCII-Codec kann das Zeichen u'/x04' nicht codieren.

Für die Django-Version überprüfen Sie bitte die Anforderungsdateien, obwohl sie Django >= 1.10 verwendet und empfohlen wird, dass sie Django v1.11.x verwendet.

Andererseits sind die Unicode-Fehler sicherlich darauf zurückzuführen, dass Sie Python2 verwenden. tun Sie es nicht, verwenden Sie vorzugsweise Python 3.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

sebastian-code picture sebastian-code  ·  11Kommentare

phamminhtris picture phamminhtris  ·  12Kommentare

Shekharnunia picture Shekharnunia  ·  10Kommentare

Allan-Nava picture Allan-Nava  ·  9Kommentare

yashLadha picture yashLadha  ·  21Kommentare