我已经安装了Django-Channels但是在运行daphne-server时我得到的错误如下:
File "/usr/local/lib/python2.7/dist-packages/channels/asgi.py", line 36, in make_backend
"Cannot import BACKEND %r specified for %s" % (self.configs[name]['BACKEND'], name)
channels.asgi.InvalidChannelLayerError: Cannot import BACKEND 'asgi_redis.RedisChannelLayer' specified for default
Run Code Online (Sandbox Code Playgroud)
我的settings.py是:
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [os.environ.get('REDIS_URL', 'redis://X.X.X.X:6379')],
},
"ROUTING": "MyProject.routing.channel_routing",
},
}
Run Code Online (Sandbox Code Playgroud)
需要帮助来解决此错误.
我构建了一个django项目,并使用Apache-WSGI组合将其部署到生产中.为此,我添加了 apache2.conf,如下所示:
WSGIScriptAlias / /home/ubuntu/MyProject/MyProject/wsgi.py
WSGIPythonPath /home/ubuntu/MyProject
<Directory /home/ubuntu/MyProject/MyProject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Run Code Online (Sandbox Code Playgroud)
所以这意味着我的网站的所有请求都不会首先转到Apache,然后允许WSGI发挥作用.因此,如果我关闭Apache,该网站将无法正常工作.
我现在已经安装了Django-Channels.根据文档(https://channels.readthedocs.io/en/latest/deploying.html)中的"部署"部分,我有:
以下是我的疑惑: