Каталог перезаписи колбы nginx uwsgi как базовый каталог в приложении

Итак, у меня есть приложение фляги, работающее с использованием uWSGI на Nginx. Nginx настроен для вызова моего приложения в местоположении / app. Таким образом, в моем приложении для фляги я должен учитывать часть / app, когда я сопоставляю URL с функцией. Есть ли способ переписать файл nginx или файл config.xml uwsgi, чтобы приложение считало, что оно работает из каталога /? И есть ли побочные эффекты?

Просто в качестве примера:

страница http://mysite.com/app/ ссылается на мой модуль index.py

мой модуль index.py использует Flask, поэтому отображение маршрута выглядит так:

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

Мне интересно, могу ли я изменить конфигурационные файлы, чтобы я мог написать:

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

Вместо?

2 ответа

Смонтируйте ваше приложение в поддиректории в uWSGI с помощью

--mount /app=myfile.py --callable app --manage-script-name

он должен работать без изменения кода или использования промежуточного программного обеспечения wsgi

Я сделал это с помощью следующей конфигурации nginx:

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

и запустите uwsgi с --mount и --mange-script-name как @roberto. например.

uwsgi --socket 0.0.0.0:3031\ 
            --pythonpath  . \
            --mount /app=./app.py \ 
            --manage-script-name \
            --callable app
Другие вопросы по тегам