更新到Rails 3.1.0.rc5后,带有nginx的Passenger有间歇性的502错误

时间:2011-07-28 01:36:29

标签: ruby-on-rails-3 nginx passenger

似乎只有一个乘客实例提供请求,其他实例只提供502个错误。这会导致间歇性错误模式,因为只有定向到第二个实例的请求才会失败。

~$ rvmsudo passenger-status
----------- General information -----------
max      = 4
count    = 2
active   = 0
inactive = 2
Waiting on global queue: 0

----------- Application groups -----------
/u/apps/pixie.strd6.com/current:
  App root: /u/apps/pixie.strd6.com/current
  * PID: 3179    Sessions: 0    Processed: 121     Uptime: 3m 57s
  * PID: 3762    Sessions: 0    Processed: 0       Uptime: 2s

这是在更新到Rails 3.1.0 rc5

之后发生的
2011/07/27 21:37:37 [error] 3125#0: *608 upstream prematurely closed connection while reading response header from upstream, client: 68.226.71.148, server: pixieengine.com, request: "GET /chats/recent HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "pixieengine.com", referrer: "http://pixieengine.com/projects/426/ide"
2011/07/27 21:38:31 [error] 3125#0: *596 upstream prematurely closed connection while reading response header from upstream, client: 76.102.14.57, server: pixieengine.com, request: "GET /chats/recent HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "pixieengine.com", referrer: "http://pixieengine.com/pixel-editor"
2011/07/27 21:39:12 [error] 3125#0: *576 upstream prematurely closed connection while reading response header from upstream, client: 68.8.173.234, server: pixieengine.com, request: "GET /chats/recent HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "pixieengine.com", referrer: "http://pixieengine.com/community/forums/1"
2011/07/27 21:39:12 [error] 3125#0: *687 upstream prematurely closed connection while reading response header from upstream, client: 201.231.103.247, server: pixieengine.com, request: "GET /chats/active_users HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "pixieengine.com", referrer: "http://pixieengine.com/projects/demo/ide"
2011/07/27 21:39:12 [error] 3125#0: *686 upstream prematurely closed connection while reading response header from upstream, client: 201.231.103.247, server: pixieengine.com, request: "GET /chats/recent HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "pixieengine.com", referrer: "http://pixieengine.com/projects/demo/ide"

2 个答案:

答案 0 :(得分:1)

我通过切换到Unicorn解决了这个问题。

我实际上无法弄清楚如何修理乘客,但由于从Rails 3.0.9过渡到3.1.0.rc5,我能够验证它是否已损坏。

答案 1 :(得分:1)

临时解决方法是在乘客中使用PassengerSpawnMethod保守派,这会禁用分叉正在运行的进程。