【问题标题】:Python WSGI app failed to reload after Apache restart?Apache 重启后 Python WSGI 应用程序无法重新加载?
【发布时间】:2013-01-20 22:40:11
【问题描述】:

我今晚开始发现 WSGI 并遇到了我无法完全理解的问题。我所做的是从 Apache + mod_wsgi 开始,并以嵌入式模式运行我的 WSGI“Hello World”应用程序。我刚刚将 WSGIScriptAlias 指向它,重新启动了 Apache,“Hello World”就在那里。

然后我继续进行研究,发现如果我在嵌入模式下使用 WSGI 应用程序,我每次进行一些更改时都需要重新启动 Apache,因此我更改了我的 VirtualHost 配置,使其现在以守护模式运行:

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,或者重启后它仍然锁定在嵌入模式?我在将其更改为守护程序模式之前进行了此更改,所以这不应该是真的吗?如果是这样 - 即使 WSGI 触发了它自己的进程,它也必须将输出从“HelloWorld”更改为这个新进程?

对不起,如果这个问题是初学者的错误 - 我只是在阅读 http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode 后无法理解它

再次感谢您的帮助:)

【问题讨论】:

    标签: python-2.7 mod-wsgi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 2023-04-03
      • 1970-01-01
      • 2013-12-19
      • 2017-05-17
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多