我对网络开发还很陌生。最近我一直在使用 Django 制作一个网站。我对在网站中实现 websocket 非常感兴趣。为了实现这一点,我使用了 django-socketio (可在 git hub 上找到)https://github.com/stephenmcd/django-socketio https://github.com/stephenmcd/django-socketio)。使用 django-socketio 文档中建议的 gevent 的 pywsgi 服务器,所有这一切都工作得很好。
通过阅读一些关于 django 的书籍,似乎建议使用 Django 与 Apache 和 mod_python 进行部署。目前我不确定将 Django、Apache 和 websockets 结合在一起的最佳方法。我应该使用 pywsgi 服务器来处理与 apache 一起运行的 django-socketio 套接字来为项目的其余部分提供服务吗?有没有一种方法可以让 Apache 处理所有事情?我应该不使用 Django-Socketio 吗?我真的很想使用 Django 和 Apache,因为我对它们有一点了解。这比我所知道的要多得多:D
无论如何,我的问题是,是否有人知道有关使用 Django-socketio 和 Apache 的任何好的文章或文档,以便我可以了解该主题?
谢谢。
首先,您读到的任何暗示 mod_python 的内容都已经过时了。它已不再开发,mod_wsgi 是使用 Apache 时的正确方法。
据我所知,mod_wsgi 不支持 WebSockets 所需的打开连接类型。在 Google 上的快速搜索表明,有多种方法可以让 WebSocket 在 Apache 下工作,但是您需要研究一下它与 gevent/django-socketio 堆栈的配合效果如何。
我建议按照我在 django-socketio 文档中推荐的方式使用 gevent 的服务器来处理 WebSocket 连接。基准测试应该持保留态度,但是如果你看一下这些结果 http://nichol.as/benchmark-of-python-web-servers你会发现 gevent 与 mod_wsgi 相当。
django-socketio 提供了便利,让您可以通过单个应用程序实例提供 WebSocket 连接以及常规 Django 视图。如果这不适合您,您可以将它们实现为单独的项目,并在 Apache/mod_wsgi 下运行常规 Django 部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)