首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动到rbenv中断乘客(nginx)

移动到rbenv中断乘客(nginx)
EN

Stack Overflow用户
提问于 2011-10-24 02:12:07
回答 2查看 6.8K关注 0票数 8

在我的生产服务器上,我从RVM迁移到了rbenv。我使用"rvm implode“卸载了rvm,并安装了rbenv、ruby 1.9.2、rails、passenger和nginx-module。除了如下更改nginx.conf之外,我没有修改我的原始passenger_root:

代码语言:javascript
复制
1st Try:
passenger_root /root/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/passenger-3.0.9;
passenger_ruby /root/.rbenv/versions/1.9.2-p290/bin/ruby;
2nd Try:
passenger_root /root/.rbenv/shims/passenger;
passenger_ruby /root/.rbenv/shims/ruby;

现在,当我尝试运行我的应用程序时,我在error.log中看到以下错误:

代码语言:javascript
复制
[error] 1291#0: *105 open() "/home/passenger/grabber/current/public/view" failed (2: No such file or directory)

这清楚地表明passenger尚未启动,我的rails应用程序未被识别。当我尝试手动启动passenger时,我得到以下错误:

代码语言:javascript
复制
   [ pid=17605 thr=70022120 file=utils.rb:176 time=2011-10-23 23:40:41.917 ]: *** Exception LoadError in PhusionPassenger::Rack::ApplicationSpawner (libruby.so.1.9: cannot open shared object file: No such file or directory - /home/passenger/grabber/shared/bundle/ruby/1.9.1/gems/nokogiri-1.5.0/lib/nokogiri/nokogiri.so) (process 17605, thread #<Thread:0x858e7d0>):
from /home/passenger/grabber/shared/bundle/ruby/1.9.1/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'

我已经安装了几次nokogiri,我可以在我的gem列表中看到nokogiri。我不确定为什么迁移到rbenv会破坏我的乘客。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-24 20:35:51

passenger和rbenv之间似乎没有兼容性(在你搬起石头砸自己的脚之前,请确保你知道这一点)-所以我删除了rbenv,并回到了RVM……

票数 -14
EN

Stack Overflow用户

发布于 2011-12-23 03:09:33

可以使用rbenv、nginx和passenger。有些已经进行了系统范围的安装。http://blakewilliams.me/blog/4-system-wide-rbenv-install

我目前正在我的开发环境上进行测试,因此,假设您已经安装了rbenv,并且在.bashrc中具有正确的rbenv初始化

代码语言:javascript
复制
gem install passenger
rbenv rehash
sudo bash -c "source ~/.bashrc && passenger-install-nginx-module"

您必须使用gem install passenger才能获得垫片。执行bundle install来安装passenger不会给你这些。

最后:

代码语言:javascript
复制
passenger-config --root

将为您提供passenger_root路径和:

代码语言:javascript
复制
rbenv which ruby

您的passenger_ruby路径。

乘客填充程序指向可执行文件,但passenger_root必须是文件夹的路径。我试过使用红宝石垫片,但它不起作用。我还没有深入了解其中的原因。

顺便说一句,我的Gemfile中确实有nokogiri宝石。哦,另外,如果你有.rvmrc和/或config/setup_load_paths.rb,将它们作为乘客自动加载捆绑包删除应该是安全的。

我还需要对此做更多的测试,但到目前为止还不错。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7868090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档