簡體   English   中英

向 wsgi 腳本別名添加參數

[英]Adding parameters to the wsgi script alias

有沒有辦法將額外的參數傳遞給 WSGIScriptAlias? 例如:

WSGIScriptAlias / /foo/bar/wsgi.py但我想要的是:

WSGIScriptAlias / /foor/bar/wsgi.py baz

編輯澄清

我有一個基於運行環境(基於雲的部署)具有多種配置的 Django 項目。 目前,我正在根據主機名加載配置(我對此並不太滿意,因為它不太適合在一台機器上測試多個配置而不更改系統的主機名)。 因此,另一種解決方案是將命令行參數傳遞給應用程序並在 WSGI 入口點加載配置,這在運行開發服務器時相對簡單,但我不知道通過 Apache/ WSGI。

首先,確保您使用的是守護進程模式,無論如何都是首選。

然后在您的 WSGI 腳本文件中,您可以執行以下操作:

import mod_wsgi

process_group = mod_wsgi.process_group

然后您可以使用進程組的名稱作為區分哪個配置的方式。

換句話說,使用您選擇在 Apache 配置文件中使用的守護進程組的名稱作為區分因素。

如果您使用的是 mod_wsgi,則可以在設置時利用 envvars 選項。

例如:

mod_wsgi-express start-server ./my-wsgi.py --port 8200 --envvars-script /home/user/envvars_localhost.sh

在 envvars 文件“envvars_localhost.sh”中,設置一些需要的參數:

#!/bin/bash
export MOD_WSGI_VARIABLE='config1'

然后在運行時您的 ./my-wsgi.py 可以引用數據:

mylocalConfigValue = os.environ['MOD_WSGI_VARIABLE']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM