一种优秀的作法是使用前缀/ws/
来区分WebSocket连接和普通HTTP连接,以便修改配置后,使Channels更容易部署到生产环境中。
特别是对于大型站点,可以配置像nginx这样的生产级HTTP服务器,将基于路径的请求路由到
(1)生产级WSGI服务器,如Gunicorn + Django,用于普通HTTP请求,或者
(2)生产级别 ASGI服务器,如Daphne + Channels for WebSocket请求。
请注意,对于较小的站点,您可以使用更简单的部署策略:
Daphne为所有请求(HTTP和WebSocket)提供服务,没必要使用单独的WSGI服务器。
在此部署配置中,就不需要公共路径前缀/ws/了
。