#nginx #deployment #sanic
#nginx #развертывание #sanic
Вопрос:
Я пытаюсь развернуть приложение Sanic рядом с Nginx. Я хочу, чтобы Nginx обрабатывал:
- Обслуживание файлов (мой SPA и другие ресурсы)
- Certbot / letsencrypt ssl (можно обойтись без)
И я хочу, чтобы Sanic обрабатывал мои конечные точки API.
Я знаю, как обращаться с каждым из них по отдельности. Однако я не знаю, как заставить их работать рядом друг с другом. Насколько я знаю, у вас не может быть двух служб, прослушивающих один и тот же TCP-порт. Если это так, должен ли я просто заставить Nginx действовать как обратный прокси для Sanic? Если да, то как бы вы это сделали?
Будем признательны за любые рекомендации.
Комментарии:
1. Даже находясь внутри docker, этот пример демонстрирует общие принципы настройки sanic за nginx github.com/itielshwartz/sanic-nginx-docker-example .
Ответ №1:
Это мой предпочтительный способ запуска Sanic вместо nginx, как вы описали. Затем просто прокси для Sanic, который прослушивает какой-либо другой порт.
server {
...
location /api/ {
proxy_pass http://sanic-app:1234/;
}
}
Комментарии:
1. Спасибо, это именно то, к чему я стремился