nginx diretório de reescrita de frascos do uwsgi como diretório base dentro do aplicativo

3

Portanto, eu tenho um aplicativo de balão executando o uWSGI no Nginx. O Nginx está configurado para ligar para meu aplicativo no local / aplicativo. Então, no meu aplicativo flask eu tenho que levar em conta a parte / app quando eu mapear o url para uma função. Existe uma maneira de reescrever o arquivo nginx ou o arquivo uwsgi config.xml para que o aplicativo ache que está sendo executado a partir do diretório /? E existem efeitos colaterais?

Apenas como exemplo:

a página link vincula ao meu módulo index.py

meu módulo index.py usa Flask, então o mapeamento de rota é assim:

@app.route('/app/')
    def hello_world():
        return 'Hello World!'

Eu estou querendo saber se posso alterar os arquivos de configuração para que eu possa escrever:

@app.route('/')
   def hello_world():
       return 'Hello World!'

Em vez disso?

    
por eatonphil 31.12.2012 / 15:07

2 respostas

3

Monte seu aplicativo no subdir no uWSGI com

- mount /app=myfile.py - app acessível --manage-script-name

deve funcionar sem modificar código ou usar middlewares wsgi

    
por 01.01.2013 / 02:12
1

Eu fiz isso funcionar com a seguinte configuração do nginx:

location ~ ^/app {
    charset utf-8;
    include uwsgi_params;
    uwsgi_pass uwsgicluster;
    uwsgi_param SCRIPT_NAME /app;
    uwsgi_modifier1 30;
}

e execute o uwsgi com --mount e --mange-script-name como @roberto. por exemplo.

uwsgi --socket 0.0.0.0:3031\ 
            --pythonpath  . \
            --mount /app=./app.py \ 
            --manage-script-name \
            --callable app
    
por 09.03.2016 / 10:24