首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Heroku部署asgi和wsgi

在Heroku部署asgi和wsgi
EN

Stack Overflow用户
提问于 2017-05-02 15:23:18
回答 1查看 5.4K关注 0票数 9

我试图使用asgi和我现有的wsgi实现一起在Heroku上部署Django通道。可以使用以下设置将asgi和wsgi部署到heroku吗?

我的档案:

代码语言:javascript
复制
web: gunicorn chatbot.wsgi --preload --log-file -
daphne: daphne chat.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2
chatworker: python manage.py runworker --settings=chat.settings -v2

我的asgi.py文件:

代码语言:javascript
复制
import os
from channels.asgi import get_channel_layer

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chat.settings")

channel_layer = get_channel_layer()

我的wsgi.py文件:

代码语言:javascript
复制
import os

from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chat.settings")

application = get_wsgi_application()
application = DjangoWhiteNoise(application)

以及我在settings.py中的频道层:

代码语言:javascript
复制
CHANNEL_LAYERS = {
    'default': {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "CONFIG": {
            "hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')]
        },
        'ROUTING': 'chat.routing.channel_routing',
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-02 20:24:07

弄明白了,以防这跟其他人有关。仅仅使用asgi是最好的解决方案。我的诉讼文件是:

代码语言:javascript
复制
web: daphne chat.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2
chatworker: python manage.py runworker --settings=chat.settings -v2

作为为静态文件提供服务的解决方案,我更新了我的routing.py文件,使其包含一个StaticFileConsumer。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43741696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档