在线使用django的Redis后端
Redis backend in online using django
我已经创建了聊天应用程序,在离线状态下它工作正常,但是当我在线部署它时我收到这个错误
注意:我已经安装好了redis,这是我的settings.py
这是 production.py 这是我的另一个 settings.py
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')],
},
# "symmetric_encryption_keys": [SECRET_KEY],
},
}
这是我的 settings.py
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [("127.0.0.1", 6379)],
},
},
}
注意 我的网站上线了
这是我的参考资料https://github.com/codingforentrepreneurs/ChatXChannels
更新
当我 运行 ubuntu
$redis 服务器
$ ps 辅助 | grep redis 服务器
我仍然遇到这个错误
这听起来像是您之前存在的 Django 服务器正在处理您的请求,而不是接受请求的通道。
我认为您的问题在于您如何 运行在生产环境中安装您的服务器。
当运行生产频道时,您有 2 个选择。
1) 运行 通过通道的所有请求(甚至那些由您的普通 Django 视图处理的请求)
2) 运行 您的普通服务器实例和您的频道服务器实例(在不同的本地端口上),在它们前面有一些 path based reverse proxy
(例如 Nginx)将请求路由到各自的本地端口。
无论您select选择什么选项,您都应该运行使用本指南https://channels.readthedocs.io/en/latest/deploying.html#run-protocol-servers(而不是python manager.py)在生产中使用频道。
如果你 select 选项 1) 那么请记住,当你 运行 时,你需要它 运行 在与你的旧 Django 服务器用于 [=35] 相同的端口配置上=].
如果您选择选项 2),您应该确保所有流量首先到达您的反向代理 (Nginx) 服务器。然后你可以 运行 Daphne
在不同的端口上,并在 Nginx 中设置路由,根据路径代理传递到相应的服务器实例。
我已经创建了聊天应用程序,在离线状态下它工作正常,但是当我在线部署它时我收到这个错误
注意:我已经安装好了redis,这是我的settings.py 这是 production.py 这是我的另一个 settings.py
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')],
},
# "symmetric_encryption_keys": [SECRET_KEY],
},
}
这是我的 settings.py
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": {
"hosts": [("127.0.0.1", 6379)],
},
},
}
注意 我的网站上线了
这是我的参考资料https://github.com/codingforentrepreneurs/ChatXChannels
更新
当我 运行 ubuntu
$redis 服务器
$ ps 辅助 | grep redis 服务器
我仍然遇到这个错误
这听起来像是您之前存在的 Django 服务器正在处理您的请求,而不是接受请求的通道。
我认为您的问题在于您如何 运行在生产环境中安装您的服务器。
当运行生产频道时,您有 2 个选择。
1) 运行 通过通道的所有请求(甚至那些由您的普通 Django 视图处理的请求)
2) 运行 您的普通服务器实例和您的频道服务器实例(在不同的本地端口上),在它们前面有一些 path based reverse proxy
(例如 Nginx)将请求路由到各自的本地端口。
无论您select选择什么选项,您都应该运行使用本指南https://channels.readthedocs.io/en/latest/deploying.html#run-protocol-servers(而不是python manager.py)在生产中使用频道。
如果你 select 选项 1) 那么请记住,当你 运行 时,你需要它 运行 在与你的旧 Django 服务器用于 [=35] 相同的端口配置上=].
如果您选择选项 2),您应该确保所有流量首先到达您的反向代理 (Nginx) 服务器。然后你可以 运行 Daphne
在不同的端口上,并在 Nginx 中设置路由,根据路径代理传递到相应的服务器实例。