Добавление приложения Flask в существующую PHP-конфигурацию nginx - PullRequest
0 голосов
/ 25 февраля 2019

Ниже приведена конфигурация веб-приложения на PHP, и она работает (я подделал имя сайта для https://sub.mysite.nl).

server {
        listen [::]:443 ssl ipv6only=on; # managed by Certbot
        listen 443 ssl; # managed by Certbot

        ## some certificate info ##

        root /path/to/www;
        index index.php index.htm index.html;

        server_name sub.mysite.nl;

        location / {
                try_files               $uri $uri/ =404;
        }

        location ~ \.php$ {
                try_files               $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass            unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_index           index.php;
                fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include                 fastcgi_params;
        }

        location ~ /\.ht {
            deny all;
        }

        ## some logging info ##

    }

server {
        if ($host = sub.mysite.nl) {
                return 301 https://$host$request_uri;
        } # managed by Certbot

        listen 80 default_server;
        listen [::]:80 ipv6only=on default_server;

        server_name sub.mysite.nl;
        return 404; # managed by Certbot
}

Теперь я хочу добавить приложение Flask в подпапку, например:https://sub.mysite.nl/flaskapp.

Блок ниже - это то, что я получил из мега-урока Flask, которому я следовал, см. Конкретно эту главу: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xvii-deployment-on-linux (в разделе Настройка Nginx). Я думаю, мне нужно поместить это вlocation /flaskapp/ но я не уверен, что делать дальше, потому что, когда я делаю это и перехожу на https://sub.mysite.com/flaskapp, это дает мне 404 Not Found.

    location /flaskapp {
            proxy_pass http://localhost:8000;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Нужно ли менять маршрут?в моем приложении Flask?

1 Ответ

0 голосов
/ 26 февраля 2019

Хорошо, я немного дурачился, и кажется, что редактирование маршрутов в моем приложении Flask обеспечивает самое простое решение.Для этого я использую блок Flask nginx из моего исходного поста внизу.

Поэтому вместо @app.route('/') я использую @app.route('/flaskapp/').

И @app.route('/view_profile/<username>') становится @app.route('/flaskapp/view_profile/<username>').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...