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

时间:2014-11-03 06:59:30

标签: ruby nginx passenger

今天我花了一半时间试图解决融合乘客由于json gem中的某些段错误问题而无法处理请求的问题。

关于这个问题有类似的帖子,但是没有一个解决方案似乎有效。我试图清除宝石并重新捆绑,例如gemset为空,捆绑安装。

关于这一点的有趣之处在于运行rails服务器是可以的,并且运行Fusion-passenger独立也很好,只有在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]

1 个答案:

答案 0 :(得分:0)

我找到了问题并解决了它。 ngnix默认为ruby 1.9.3,一个版本融合乘客安装。我只通过rvm安装了一个2.0.0版本的ruby。我所要做的就是将nginx配置文件设置为ruby包装器,一切都很好。世界再次成为一个幸福的地方!

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