我在Linux Debian 6分發版上安裝了新的Satchmo存儲。標準Django開發服務器的工作原理非常完美,但是在nginx + FastCGI的生產模式中,經過一段時間(或者在內存限制過滿後,看起來像是這樣)nginx輸出「502 Bad gateway」錯誤。Django + Satchmo在一段時間後使用nginx + FastCGI提供HTTP錯誤502錯誤的網關
在日誌文件中,我發現這些行:
2011/12/02 2點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的不能得到RI來自我的django fastcgi服務器的ght響應。我嘗試了Django服務器(maxchildren,maxrequests)的不同設置,但錯誤仍然存在(結論是更高的值 - 更長的壽命沒有錯誤)。隨着設置maxchildren = 3 maxrequests = 10錯誤隨機出現5-10頁刷新後,15刷新後,它總是出現。
我還發現,當我評論satchmo源代碼錯誤的一些行消失了。這很奇怪,因爲這對於正確的工作店來說非常重要。我認爲這可能是問題原因的線索。 DIFF是在這裏:http://dpaste.com/hold/664978/
問題消失,如果我想:
- 註釋掉
PAYMENT_PROCESSOR=True
線,我唯一的支付模塊。 - 註釋掉
config_register(MultipleStringValue(SHIPPING_GROUP, ...)
在shipping/config.py
我覺得這些行導致崩潰我的生產服務器的真正原因。我怎樣才能完全解決這個問題?對我的調查有何建議?
UPDATE:
啓用的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。稍後我會試一試。
與消息從登錄的Satchmo Django的 – ramusus
與命令'runfcgi方法= prefork'運行。 satchmo有什麼不同? – ramusus