Мой короткий вопрос, как настроить Django-channels v2 на AWS Elasticbeanstalk? Ниже приведены длинные и менее привлекательные вопросы. Заранее спасибо!
Я пытаюсь настроить экземпляр elasticbeanstalk с помощью Django Channels 2.02. Я следил за этим https://hackernoon.com/setting-up-django-channels-on-aws-elastic-beanstalk-716fd5a49c4a учебное пособие. Учебное пособие для каналов 1.
Экземпляр Elasticbeanstalk был создан с помощью балансировщика нагрузки приложения. Экземпляр Redis 4.0 работает под управлением 0.0.0.0:6379, что подтверждается netstat. Пользовательский TCP, диапазон портов: 6379, источник: 0.0.0.0/0 в экземпляре redis.
alb_listener.config в .ebekstension:
option_settings: aws:elbv2:listener:80:
DefaultProcess: http
ListenerEnabled: 'true'
Protocol: HTTP aws:elasticbeanstalk:environment:process:http:
Port: '8000'
Protocol: HTTP
Сервер Daphne запускается командой "Daphne .asgi: application". Прослушивание TCP-адреса 0.0.0.0:8000. Он возвращает:
2018-03-12 08:59:30,778 ERROR Exception inside application: [Errno -2] Name or service not known
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels/consumer.py", line 54, in __call__
await await_many_dispatch([receive, self.channel_receive], self.dispatch)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels/utils.py", line 47, in await_many_dispatch
result = task.result()
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels_redis/core.py", line 167, in receive
task.result()
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels_redis/core.py", line 187, in receive_loop
real_channel, message = await self.receive_single(general_channel)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels_redis/core.py", line 224, in receive_single
async with self.connection(index) as connection:
File "/opt/python/run/venv/local/lib/python3.6/site-packages/channels_redis/core.py", line 403, in __aenter__
self.conn = await aioredis.create_redis(**self.kwargs)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/aioredis/commands/__init__.py", line 174, in create_redis
loop=loop)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/aioredis/connection.py", line 107, in create_connection
timeout, loop=loop)
File "/usr/lib64/python3.6/asyncio/tasks.py", line 339, in wait_for
return (yield from fut)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/aioredis/stream.py", line 19, in open_connection
lambda: protocol, host, port, **kwds)
File "/usr/lib64/python3.6/asyncio/base_events.py", line 733, in create_connection
infos = f1.result()
File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/lib64/python3.6/socket.py", line 743, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
[Errno -2] Name or service not known
Websocket не возвращает ошибку в консоли браузера.
Он работает на моем локальном сервере запуска. В чем проблема? Не могли бы вы помочь мне написать сценарий конфигурации, чтобы мне не нужно было запускать Дафну вручную?