Назад | Перейти на главную страницу

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

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

Как пример:

страница 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!'

Вместо?

Смонтируйте свое приложение в подкаталоге 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