通过这些魔术变量,我们可以动态的调整和配置uWSGI服务器各个方面,通过web服务器(一般是uwsgi兼容的客户端,在这里就是我们的Nginx服务器)将指定的变量传递给uWSGI服务器来实现,
例如(在 nginx下的配置):
location / { include uwsgi_params; uwsgi_param UWSGI_SCHEME https; uwsgi_pass 127.0.0.1:3031; } |
UWSGI_SCHEME
功 能:设置url的scheme。
例 如:
uwsgi_param UWSGI_SCHEME https; |
UWSGI_SCRIPT
功 能:载入指定的脚本,即应用程序的名称,并将其作为一个新的应用映射到SCRIPT_NAME(显然,应用程序将仅在首次访问才被加载)。
例 如:
uwsgi_param UWSGI_SCRIPT werkzeug.testapp:test_app; uwsgi_param SCRIPT_NAME /testapp; |
UWSGI_MODULE 和 UWSGI_CALLABLE
功 能:在SCRIPT_NAME中载入一个新的应用(作为module:callable定义)。
例 如:
uwsgi_param UWSGI_MODULE werkzeug.testapp; uwsgi_param UWSGI_CALLABLE test_app; uwsgi_param SCRIPT_NAME /testapp; |
UWSGI_PYHOME
功 能:应用程序的主路径,为动态应用设置Python 的 virtualenv环境。
例 如:
uwsgi_param UWSGI_PYHOME /Users/roberto/uwsgi/VENV1; |
UWSGI_CHDIR
功 能:切换后的应用程序路径,在管理请求之前chdir()到指定的目录。
例 如:
uwsgi_param UWSGI_CHDIR /home/shell/workspace/hg; |
UWSGI_FILE
功 能:载入指定的文件,将该文件作为一个新的动态应用。
UWSGI_TOUCH_RELOAD
功 能:当指定文件的修改时间被改变时,从最后一个请求处理完成后将会重新载入uWSGI的堆栈。
例 如:
location / { include uwsgi_params; uwsgi_param UWSGI_TOUCH_RELOAD /tmp/touchme.foo; uwsgi_pass /tmp/uwsgi.sock; } |
UWSGI_CACHE_GET
功 能:检测uWSGI缓存查找指定的key,如果找到,那么将按照原始的http输出,并且返回客户端,如果没有找到,那么将按照正常的访问继续执行。
例 如:
location / { include uwsgi_params; uwsgi_param UWSGI_CACHE_GET $request_uri; uwsgi_pass 127.0.0.1:3031; } |
UWSGI_SETENV
功 能:为新的动态应用设置一个指定的环境变量(在Python下可以通过为uWSGI服务器添加--reload-os-env选项)。这种情况就是不使用wsgi文件或模块而动态载入django应用。
例 如:
location / { include uwsgi_params; uwsgi_param UWSGI_SCRIPT. django.core.handlers.wsgi:WSGIHandler(); uwsgi_param UWSGI_CHDIR /mydjangoapp_path; uwsgi_param UWSGI_SETENV DJANGO_SETTINGS_MODULE=myapp.settings; } |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-732225/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27043155/viewspace-732225/