2011-12-26 5 views
0

私の開発環境はWindowsです。つまり、Apache MPMは'winnt'にしかなりませんでした。ここで私は奇妙なことを見つける:mod_wsgiは各ポートのインタープリタを作成しますか

。 Apacheは8080を聞くだけで、仮想ホストは設定しませんでしたが、エラーログに「myhost.com:8080 |」という2つのインタープリタが作成される理由は何ですか?と 'myhost.com |'?それは8080だけであると仮定します。

のaccess.log:

124.237.78.181 - - [20/Dec/2011:16:36:18 +0800] "GET http://www.baidu.com/ HTTP/1.1" 404 29 

この要求は、Apacheは(時間を何卒ご了承下さい)80インタプリタを作成します。私はそれがどこから来るのかわかりません(代理検出?)。しかし、私はtelnetによってそれをシミュレートすることができます。

telnet myhost.com 8080 
GET http://www.baidu.com/ 

のerror.log:

[Tue Dec 20 15:50:14 2011] [info] mod_wsgi (pid=1008): Create interpreter 'myhost.com:8080|'. 
[Tue Dec 20 15:50:14 2011] [info] mod_wsgi (pid=1008): Adding 'E:/eclipse workspace/SubscriptionServer/src' to path. 
[Tue Dec 20 15:50:14 2011] [info] [client 66.220.151.121] mod_wsgi (pid=1008, process='', application='myhost.com:8080|'): Loading WSGI script 'E:/eclipse workspace/SubscriptionServer/src/business/dispatcher.py'. 
[Tue Dec 20 16:36:19 2011] [info] mod_wsgi (pid=1008): Create interpreter 'myhost.com|'. 
[Tue Dec 20 16:36:19 2011] [info] mod_wsgi (pid=1008): Adding 'E:/eclipse workspace/SubscriptionServer/src' to path. 
[Tue Dec 20 16:36:19 2011] [info] [client 124.237.78.181] mod_wsgi (pid=1008, process='', application='myhost.com|'): Loading WSGI script 'E:/eclipse workspace/SubscriptionServer/src/business/dispatcher.py'. 

。 Apacheをシャットダウンすると、何個のインタープリタが作成されても、8080インタプリタだけが破棄されます。

[Sun Dec 25 15:49:08 2011] [info] mod_wsgi (pid=4288): Destroying interpreters. 
[Sun Dec 25 15:49:08 2011] [info] mod_wsgi (pid=4288): Destroy interpreter 'myhost.com:8080|'. 

私は8080インタプリタのみを作成したいのですが、どうすればいいですか?

答えて

1

デフォルトでは、ポート80と443に対する要求は同じサブインタープリタで処理されます。他のポートに対する要求は、異なるインタプリタで処理されます。これはmod_wsgiのドキュメントに書かれています。

Variable will be instantiated more than once

StackOverflowのではない:なぜあなたは質問まで続くことはありませんので、あなたが別の質問に前にこのことについて尋ねられたとき、私は知らないの両方を見ていると同様に

http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIApplicationGroup

とにかくあなたの設定が問題を引き起こしている理由をデバッグしようとする正しいフォーラムです。 mod_wsgiメーリングリストを使用して、WSGIアプリケーションスクリプトにデバッグを追加して、ポート80に関連する偽の要求がどこから来ているかを調べる方法を説明する適切なドキュメントを指摘できます。

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Asking_Your_Questions

ドキュメントは、あなたがしたい場合は、常にStackOverflowのに優先してメーリングリストを使用する必要がありますmod_wsgiのに役立つことは明らかです。 StackOverflowはデバッグのための絶好の場所であり、フォーラムではありません。誰かが正確な答えを知っている場合にのみ役立ちます。

+0

こんにちはグラハム、私の間違い申し訳ありません。 StackOverFlowのスレッドを何日もチェックしていないので、古いスレッドで通知されていない場合は、新しいスレッドを作成します。あなたの答えはThx。 mod_wsgiメーリングリストに行きます。 –

関連する問題