Итак, у меня есть приложение-фляга, работающее с использованием 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