0

LinuxDebian6ディストリビューションに新しいSatchmoストアをインストールしました。標準のDjango開発サーバーは完璧に動作しますが、しばらくするとnginx + FastCGIを使用する本番モードで(またはメモリ制限がいっぱいになった後のように見えます)、nginxは「502Badgateway」エラーを出力します。

ログファイルで、次の行を見つけました。

2011/12/02 02:38:57[エラー]29894#0:* 91439 recv()が失敗しました(104:ピアによって接続がリセットされました)アップストリームからの応答ヘッダーの読み取り中、クライアント:2.95.158.164、サーバー:my-secret- host.com、リクエスト: "GET / HTTP / 1.1"、アップストリーム: "fastcgi:// unix:/var/run/www/file.sock:"、ホスト: "my-secret-host.com"

インターネットでよく検索していましたが、nginxがdjangofastcgiサーバーから正しい応答を取得できないことがわかりました。djangoサーバーのさまざまな設定(maxchildren、maxrequests)を試しましたが、エラーはまだここにあります(結論はより高い値です-エラーなしでより長い寿命です)。設定を使用すると、maxchildren = 3 maxrequests = 10エラーは、5〜10ページの更新後にランダムに表示され、15回の更新後は常に表示されます。

また、コメントすると、satchmoソースコードエラーの数行がなくなっていることがわかりました。それは正しい作業店にとって非常に重要なラインであるため、それは非常に奇妙です。問題の原因の手がかりになると思います。差分はここにあります:http://dpaste.com/hold/664978/

私がそうするならば、問題は消えます:

  • PAYMENT_PROCESSOR=True私の唯一の支払いモジュールのコメントアウトライン。
  • コメントアウトconfig_register(MultipleStringValue(SHIPPING_GROUP, ...)_shipping/config.py

これらの行は、本番サーバーをクラッシュさせる本当の理由につながると思います。この問題を完全に解決するにはどうすればよいですか?私の調査への提案はありますか?

アップデート:

satchmoロギングを有効にした後、次のメッセージが見つかりました。

2011年12月5日月曜日13:26:37構成エラー設定の検索で問題が発生しましたSHOP.SHOW_SITE、サーバーが予期せず接続を閉じましたこれは、サーバーが要求の処理前または処理中に異常終了したことを意味します。

おそらく、https://groups.google.com/group/satchmo-users/browse_thread/thread/506b3ad77e7a766e?hl = es&pli=1のレシピを使用してこれを解決することが可能です。これは後で少し試してみます。

4

2 に答える 2

0

Satchmo のログ ファイルを調べて、このクラッシュの理由に関する詳細があるかどうかを確認してください。コメントアウトした項目はクラッシュを防止するものではないため、展開のセットアップで何か他のことが起こっていると思われます。

考慮すべきもう 1 つの項目は、スレッド化された高速 cgi と非スレッド化された高速 cgi のどちらを使用していますか?

于 2011-12-02T21:03:16.323 に答える
0

これは、データベース接続の問題が原因です。

根拠: エラー メッセージ「configuration ERROR Problem find settings SHOP.SHOW_SITE」の最初の部分は livesettings からのものです。通常、データベースを使用する最初のモジュールです。コンマの後の 2 番目の部分「サーバーが接続を予期せず閉じました...」は、db サーバーへの接続に関する Postgres データベース クライアントからのメッセージです。

データベース接続、アクティブな接続の数、およびデータベース設定は、次のコマンドでテストできます。

$ python manage.py dbshell

postgres=> select * from product_product;   -- something typical
postgres=> select * from pg_stat_activity;  -- active connections
postgres=> show all;                        -- show current db server settings
于 2012-04-18T08:29:40.113 に答える