我今晚开始发现WSGI并遇到了我无法完全理解的问题。我做的是我开始使用Apache + mod_wsgi并在嵌入模式下运行我的WSGI“Hello World”应用程序。我刚刚将WSGIScriptAlias指向它,重新启动Apache并且“Hello World”就在那里。
然后我继续进行研究,发现如果我在嵌入模式下使用WSGI应用程序,我将需要在每次更改时重新启动Apache,因此我更改了我的VirtualHost配置,因此它现在以deamon模式运行:
WSGIDaemonProcess wsgi-app processes=2 threads=15
WSGIProcessGroup wsgi-app
我已经重新启动了Apache但仍然 - 我的“Hello World”输出虽然我完全改变了我的WSGI以输出不同的东西
def application(environ, start_response):
status = '200 OK'
if not environ['mod_wsgi.process_group']:
output = 'EMBEDDED MODE'
else:
output = 'DAEMON MODE'
response_headers = [('Content-Type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
任何人都有任何解释或链接,以帮助我弄清楚出了什么问题? Apache是否在单独的进程下启动了WSGI,或者在重启后它仍然处于嵌入模式?在我将其更改为deamon模式之前我做了这些更改,所以这不应该是真的吗?如果是这样 - 即使WSGI解雇了它自己的进程,它也必须将输出从“HelloWorld”更改为这个新的吗?
很抱歉,如果这个问题属于初学者错误 - 我在阅读http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode
之后就无法理解这个问题再次感谢您的帮助:)
答案 0 :(得分:0)
看起来这不是WSGI相关的问题,而是我的VM中的一些问题 - 主机配置。更改后,更改不会保存在WSGI文件中(为什么 - 我还不确定可能是运行此文件的进程)。无论如何 - 抱歉浪费时间。