私は今夜 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 を再起動しましたが、WSGI を完全に変更して別のものを出力しましたが、「Hello World」出力があります。
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を読んだ後、私はそれを理解できませんでした
もう一度助けてくれてありがとう:)