在nginx上运行json gem时融合乘客问题

今天我花了好半年的时间试图解决一个融合乘客由于json gem内部分段故障问题而无法处理请求的问题。

关于这个问题也有类似的post,但是没有一个解决scheme似乎有效。 我试图清除gem和重新捆绑,例如gemset empty,捆绑安装。

关于这一点有趣的是跑轨服务器是好的,运行融合乘客站独自也是好的,只有在nginx下运行时,我有这个问题。

/usr/local/rvm/gems/ruby-2.0.0-p481/gems/json-1.8.1/lib/json/common.rb:67: [BUG] Segmentation fault ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux] Web application could not be started An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger. Please read this article for more information about this problem. 

原始过程输出:

 /usr/local/rvm/gems/ruby-2.0.0-p481/gems/json-1.8.1/lib/json/common.rb:67: [BUG] Segmentation fault ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux] 

我发现了这个问题并解决了它。 ngnix是默认红宝石1.9.3,版本融合乘客已经安装。 我只通过rvm安装了一个ruby版本2.0.0。 我所要做的就是将nginx配置文件设置为ruby wrapper,一切都很好。 世界再次是一个快乐的地方!

 passenger_ruby /usr/local/rvm/wrappers/ruby-2.0.0-p481/ruby;