所以我有一个应用程序运行在Nginx上使用uWSGI。 Nginx设置为在位置/应用程序中调用我的应用程序。 所以在我的烧瓶应用程序中,当我将url映射到一个函数时,我必须考虑/ app部分。 有没有办法重写nginx文件或uwsgi config.xml文件让应用程序认为它是从/目录运行? 有没有副作用?
举个例子:
页面http://mysite.com/app/链接到我的index.py模块
我的index.py模块使用Flask,所以路由映射如下所示:
@app.route('/app/') def hello_world(): return 'Hello World!'
我想知道如果我可以改变configuration文件,所以我可以写:
@app.route('/') def hello_world(): return 'Hello World!'
代替?
在uWSGI中的子目录中安装你的应用程序
–mount /app=myfile.py – 可调用的应用程序 – pipe理脚本名称
它应该在不修改代码或使用wsgi中间件的情况下工作
我通过下面的nginxconfiguration工作:
location ~ ^/app { charset utf-8; include uwsgi_params; uwsgi_pass uwsgicluster; uwsgi_param SCRIPT_NAME /app; uwsgi_modifier1 30; }
并使用–mount和–mange-script-name作为@roberto运行uwsgi。 例如。
uwsgi --socket 0.0.0.0:3031\ --pythonpath . \ --mount /app=./app.py \ --manage-script-name \ --callable app