2

uwsgiを使用してdjangoアプリを提供するためにcherokeeを実行しています。cherokee 1.2.x にアップグレードしてから、奇妙な動作が続いています。

セットアップは cherokee 1.2.x より前では問題なく機能しており、構成を変更していません。

問題は、uwsgi が実行されていないときに django アプリ サイトを読み込もうとすると、最初に 503 エラーが発生することです。後続のリクエストは正常に機能します。ログを見ると、チェロキーが複数の uwsgi インスタンスを生成していることがわかります。これが問題のようです。

ここにcherokee.errorログを投稿しました

チェロキーが複数の uwsgi インスタンスを生成しているようです:

probably another instance of uWSGI is running on the same address.

uwsgi の私の構成は次のとおりです。

<pidfile>/home/my_home/my_project/uwsgi.pid</pidfile>
<vacuum />
<processes>4</processes>
<harakiri>30</harakiri>
<master />

この問題のもう 1 つの症状は、503 の後、続いて uwsgi が正常に開始された後、PID ファイルがないことです。これは、起動して失敗した uwsgi の追加インスタンスが、終了時に PID ファイルを削除するためです。

binding on TCP port: 45611
probably another instance of uWSGI is running on the same address.
bind(): Address already in use [socket.c line 341]
VACUUM: pidfile removed.

したがって、全体として、問題は次のとおりです。

  • チェロキーによって uwsgi が開始された後、最初のビューに 503 が表示される
  • PID ファイルが作成されていない (または作成されているが、別の終了している uwsgi プロセスによってすぐに削除されている)

uwsgi ソース コードに対してのみ一致する Google 検索probably another instance of uWSGI is running on the same addressなので、これを経験しているのは私だけのようです。

同じセットアップの複数のコンピューターで同じ問題が発生します。

何か案は?

ソフトウェアのバージョン:

  • uWSGI 0.9.6.2
  • チェロキー 1.2.1
  • Django 開発トランク (1.3 rc と 1.3 の間)
4

1 に答える 1

1

これはトランクで修正されたチェロキーのバグのようです:

http://svn.cherokee-project.com/listing.php?repname=チェロキー&peg=6382&rev=6380

SVN からトランクをダウンロードしましたが、問題は発生しなくなりました。

于 2011-03-16T13:04:47.547 に答える