Обслуживающий интерфейс реагирует одновременно на flask бэкэнд (nginx) - PullRequest
0 голосов
/ 13 января 2020

У меня есть фронтенд реакции и flask бэкэнд.

В настоящее время я обслуживаю бэкэнд следующим образом

server {
    location / {
        try_files $uri @yourapplication;
    }
    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }
}

Я бы хотел настроить nginx таким образом, чтобы я мог обслуживать свое приложение реагирования из / и получать доступ к API из всех других маршрутов (т. е. / users является конечной точкой API).

Это "разумная" настройка? Как должен выглядеть мой конфигурационный файл?

1 Ответ

1 голос
/ 20 января 2020

Завершается, используя следующую настройку

server {

    root /var/www;
    index index.html index.htm;

    location =/ {
        try_files $uri $uri/ /index.html;
    }

    # Media: images, icons, video, audio, HTC
    location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
        expires 1M;
        access_log off;
        add_header Cache-Control "public";
    }

    # Javascript and CSS files
    location ~* \.(?:css|js)$ {
        try_files $uri =404;
        expires 1y;
        access_log off;
        add_header Cache-Control "public";
    }

    # Any route containing a file extension (e.g. /devicesfile.js)
    location ~ ^.+\..+$ {
        try_files $uri =404;
    }

    location /user {
        try_files $uri @yourapplication;
    }

    location /register {
        try_files $uri @yourapplication;
    }

    location /login {
        try_files $uri @yourapplication;
    }

    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/uwsgi.sock;
    }
}

Другими словами, для производства он подает c файлов на = / и для каждого другого конечного пункта передает его на flask.

...