应用程序无法运行,来自 nginx 日志:
[ 2016-12-01 07:00:34.0368 1509/7fbcbf7fe700 agents/HelperAgent/RequestHandler.h:2306 ]: [Client 20] Cannot checkout session because a spawning$
App 6899 stdout:
App 6899 stdout:
[ 2016-12-01 07:01:13.2625 1509/7fbccdf3b700 Pool2/Implementation.cpp:287 ]: Could not spawn process for application /home/deploy/porinstinto/c$
Error ID: 9864a1e8
Error details saved to: /tmp/passenger-error-NDJl0Z.html
Message from application: <p>It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this application needs. T$
<pre class="commands">bundle install</pre>
<p>If that didn't work, then the problem is probably caused by your application being run under a different environment than it's supposed to. $
<ol>
<li>Is this app supposed to be run as the <code>deploy</code> user?</li>
<li>Is this app being run on the correct Ruby interpreter? Below you will
see which Ruby interpreter Phusion Passenger attempted to use.</li>
<li>Please check whether the correct RVM gemset is being used.</li>
<li>Sometimes, RVM gemsets may be broken.
<a href="https://github.com/phusion/passenger/wiki/Resetting-RVM-gemsets">Try resetting them.</a></li>
</ol>
<p>-------- The exception is as follows: -------</p>
Could not find rake-11.3.0 in any of the sources (Bundler::GemNotFound)
<pre> /home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/spec_set.rb:92:in `block in materialize'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `map!'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/spec_set.rb:85:in `materialize'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/definition.rb:132:in `specs'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/definition.rb:177:in `specs_for'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/definition.rb:166:in `requested_specs'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/environment.rb:18:in `requested_specs'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/runtime.rb:13:in `setup'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler.rb:121:in `setup'
/home/deploy/.rvm/gems/ruby-2.1.3@global/gems/bundler-1.7.3/lib/bundler/setup.rb:17:in `<top (required)>'
/home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
/home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
/home/deploy/.rvm/rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:263:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:366:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:261:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'</pre>
[ 2016-12-01 07:01:13.2791 1509/7fbcbf7fe700 agents/HelperAgent/RequestHandler.h:2306 ]: [Client 20] Cannot checkout session because a spawning$
更新
在生产服务器中运行“Bundle”我可以看到 rake-11.3.0 已安装。
阅读有关宝石组的建议链接。
看来所有gem都安装在gemset 2.3.1@default中
而且,阅读错误日志,该乘客正在使用 ruby-2.1.3@global gemset,它没有安装正确的 gems。
现在,我必须更改乘客宝石集配置以使用正确的“默认”宝石集。有什么帮助吗?
尝试:
bundle exec rake 'option'
问题已解决,这是 Nginx-passenger 配置的问题。
nginx.conf 文件指向 ruby 2.1.3(我使用的 ruby 的先前版本),所以我简单地将这一行替换为:
passenger_ruby /home/deploy/.rvm/wrappers/ruby-2.3.1/ruby;