@IgorPosmashny
недоjunior python developer

Как задеплоить aiohttp chat (Nginx+Supervisord)?

Привет!
Есть сервер Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-53-generic x86_64)

Решил задеплоить aiohttp по примеру с документации. Только в более упрощенном виде.

Мой NGINX config:
upstream aiohttp_chat {
    server 127.0.0.1:8080;
}

server {

    listen 80;
    server_name example.com;

    error_log /var/log/nginx/error.log;

    location / {

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_redirect off;
        proxy_pass http://aiohttp_chat;

        proxy_read_timeout 200;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}


Supervisord config:
[program:chat]
command=/home/ubuntu/www/venv/bin/python /home/ubuntu/www/aiohttp-chat/app.py
directory=/home/ubuntu/www/aiohttp-chat
user=nobody
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/chat.err.log
stdout_logfile=/var/log/supervisor/chat.out.log


Aiohttp router:
router = app.router
router.add_route('GET', '/chat/{channel}/{token}/', handlers.websocket_handler)


Запускаю:
loop = asyncio.get_event_loop()
app = loop.run_until_complete(get_app())
web.run_app(app)


При попытке подключения (ws://example.com/chat/1/dsfbgrgbre432t325q/) через какой-либо онлайновый вебсокет клиент или через расширение в хроме, я получаю ошибку undefined.

Непонятно, что именно не работает - nginx error.log пуст, в access.log видно, что кто-то пытается достучаться, но попытки заканчиваются на 404.
Supervisord работает исправно - status RUNNING.

Нужно ли в Nginx в блоке location писать regex моего router'a?
Подскажите, в чем моя проблема?
  • Вопрос задан
  • 1520 просмотров
Решения вопроса 1
@IgorPosmashny Автор вопроса
недоjunior python developer
Проблема решилась открытием порта 8080.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ws://example.com/chat/1/dsfbgrgbre432t325q/
а чего на example.com?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы