Domanda

Sono abbastanza nuovo nello sviluppo web. Ultimamente ho creato un sito usando Django. Ero molto interessato a implementare WebSocket nel sito. Per raggiungere questo obiettivo stavo usando Django-Socketio (disponibile su Git Hub a https://github.com/stephenmcd/django-socketio). Tutto ciò funzionava bene utilizzando il server Pywsgi di Gevent che è suggerito nei documenti Django-Socketio.

Dalla lettura di alcuni libri su Django sembra che si consiglia di utilizzare Django con Apache e Mod_Python per la distribuzione. Al momento non sono sicuro del modo migliore per riunire Django, Apache e WebSocket. Dovrei usare il server PYWSGI per gestire le prese Django-Socketio in esecuzione lungo Apache laterale per servire il resto del progetto? C'è un modo in cui Apache può gestire tutto? Non dovrei usare Django-Socketio? Vorrei davvero usare Django e Apache perché ne so un po '. Il che è molto più di quanto io sappia di qualsiasi altra cosa: D

Comunque la mia domanda è davvero se qualcuno conosce buoni articoli o documentazione sull'uso di Django-Socketio e Apache in modo da poter ottenere la testa sull'argomento?

Grazie.

È stato utile?

Soluzione

Per cominciare, tutto ciò che leggi suggerendo che mod_python è molto obsoleto. Non è più sviluppato e Mod_WSGI è l'approccio giusto quando si utilizza Apache.

Per quanto ne so, Mod_WSGI non supporta il tipo di connessioni aperte richieste da WebSocket. Una rapida ricerca su Google mostra che ci sono modi per far funzionare Websocket sotto Apache, ma su come funzionerebbe bene con lo stack Gevent/Django-Socketio è qualcosa che dovresti esaminare.

Suggerirei di utilizzare il server di Gevent come ho raccomandato nei documenti Django-Socketio, per la gestione delle connessioni WebSocket. I parametri di riferimento dovrebbero essere presi con un chicco di sale, ma se dai un'occhiata questi risultati Troverai che Gevent sia alla pari con mod_wsgi.

Django-Socketio offre la comodità di consentire di servire le connessioni WebSocket e le normali visualizzazioni di Django attraverso un'unica istanza dell'applicazione. Se questo non ti va bene, potresti implementarli come progetti separati ed eseguire la normale parte di Django sotto Apache/Mod_WSGI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top