Apache重新启动后,Python WSGI应用无法重新加载?

问题描述:

我已经开始发现WSGI今晚,碰到了我无法完全理解的问题。我所做的是,我开始使用Apache + mod_wsgi并以嵌入模式运行我的WSGI“Hello World”应用程序。我刚刚指出了WSGIScriptAlias,重启了Apache并且“Hello World”在那里。Apache重新启动后,Python WSGI应用无法重新加载?

然后,我继续做了研究,结果发现,如果我在嵌入模式下使用WSGI程序,我将需要重新启动Apache每次我做出一些改变,所以我改变了我的虚拟主机的配置时间,所以现在在守护程序模式下运行:

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

感谢您的帮助后,它的意义:)

看起来它不是WSGI相关的问题,但有些问题在我的VM - 主机配置中。更改后不会将更改保存在WSGI文件中(为什么 - 我还不确定可能是运行此文件的进程的某些内容)。无论如何 - 抱歉浪费时间。