Развернуть сервер Sanic рядом с Nginx

#nginx #deployment #sanic

#nginx #развертывание #sanic

Вопрос:

Я пытаюсь развернуть приложение Sanic рядом с Nginx. Я хочу, чтобы Nginx обрабатывал:

  1. Обслуживание файлов (мой SPA и другие ресурсы)
  2. 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. Спасибо, это именно то, к чему я стремился