Bootcamp: le chat ne fonctionne pas sur le serveur de production

Créé le 4 mars 2018  ·  5Commentaires  ·  Source: vitorfs/bootcamp

La connexion WebSocket à 'ws:// www.freemediaweb.com/sss/ ' a échoué : erreur lors de la négociation WebSocket : code de réponse inattendu : 200

Support

Tous les 5 commentaires

Pouvez-vous fournir des informations supplémentaires ? cela n'est pas utile pour déterminer ce qui se passe en arrière-plan, rappelez-vous que vous devez fournir la configuration REDIS pour que cela fonctionne.

Votre site Web est extrêmement sophistiqué. Le problème a été résolu mais j'aimerais toute suggestion de votre part si je faisais quelque chose qui n'était pas conforme aux meilleures pratiques. Le déploiement sur DigitalOcean est délicat, Heroku pourrait être plus facile et je pense que vous l'avez fait pour heroku car il contient 'Procfile'. Nginx Config et Daphne config ont créé des problèmes dont j'ai trouvé la solution sur Internet mais pas facilement.
1-Créé des blocs de serveur séparés pour les requêtes Nginx Http et socket.
2-Utilisé uWSGI/gunicorn pour http et ASGI/Daphne pour les websockets.
3-Runworker s'exécute en tant que service afin qu'il redémarre automatiquement en cas de plantage.
4-Redis avec les privilèges Sudo en tant que Redis.Service
5-J'ai également apporté quelques modifications à Routing.py depuis que la configuration de Nginx m'a fait séparer les requêtes http et websocket ou du moins je le pense.

Je doute d'avoir tout fait correctement, mais cette application semble fonctionner à merveille. Aussi, je voudrais savoir que dois-je exécuter seulement 1 travailleur ou plus ??

Salut @ssahilsahil798

Merci pour les commentaires. Vous avez raison, le .Procfile est là, mais pour être honnête, je n'utilise pas Heroku, donc je n'y prête pas vraiment attention. Je préfère faire un déploiement propre, mais pour ceux qui préfèrent utiliser Docker, il y a aussi cette base.

Dans le wiki, il n'y a que des informations pour vous aider à démarrer et quelques notions de base à ne pas oublier, mais les exigences profondes pour ce type de projet dépassent le cadre et je laisse cela à la personne qui va l'utiliser, gardez à l'esprit est juste un autre beau projet Django et il y a beaucoup d'informations à ce sujet.

Pour répondre à votre question, cela dépend de vos propres critères techniques et de votre analyse de cas, peut-être plus d'un mais cela devrait être lié au montant de l'utilisateur, vous devrez le mesurer et déterminer quel est le meilleur résultat.

Bien que je veuille vous dire que votre code contient une erreur. Il utilise Django 1.6, vous devez donc utiliser from __future__ import unicode_literals in /bootcamp/feeds/views.py. Parce que vous ne l'avez pas utilisé, il lance "UnicodeEncodeError" -Le codec Ascii ne peut pas encoder le caractère u'/x04'.

Pour la version de Django, veuillez vérifier les fichiers d'exigences, bien qu'il utilise Django >= 1.10, et il est suggéré qu'il utilise Django v1.11.x.

D'un autre côté, les erreurs Unicode sont sûrement dues au fait que vous utilisez Python2 ; ne le faites pas, utilisez Python 3 de préférence.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

phamminhtris picture phamminhtris  ·  12Commentaires

mwanjajoel picture mwanjajoel  ·  5Commentaires

yashLadha picture yashLadha  ·  21Commentaires

Allan-Nava picture Allan-Nava  ·  9Commentaires

Shekharnunia picture Shekharnunia  ·  10Commentaires