部署 访问 vagrant 里的 webrick 非常慢是什么原因呢?

acaby · 2013年12月12日 · 最后由 acaby 回复于 2013年12月12日 · 3659 次阅读

vagrant 的网络配置为 NAT 和 HOST-ONLY,在 host 里使用 host-only 的 ip 访问 guest 里启的 webrick,访问首页都需要超过 15 秒,但是在 vagrant 里 wget host 里启动的 webrick 却很快,这会是什么原因导致的呢?网上搜了很多资料都说修改 webrick 的代码 DoNotReverseLookUp,经尝试无效。

你的工程目录是不是挂载的,如果是就把工程目录移到 guest 机器的其他目录。启动就会很快。

#1 楼 @xds2000 试了下,确实...但是这样用 vagrant 的意义在哪里呢 - -

http://docs-v1.vagrantup.com/v1/docs/troubleshooting.html 里面提到过这个问题。个人认为替换掉 WebRick 应该是个很好的解决方法

@xdada 这是个 Bug。目前临时解决方案是开 nfs,挂上虚拟机的目录,速度就会提高。但这是绕过问题,作者说还要想想。

#3 楼 @chunlea 那个文档上建议的修改 webrick 的 config 里:DoNotReverseLookUp => true 我尝试过无效,而且我也有尝试用 thin 替换 webrick,效果一样,从 shared folder 移动代码到虚拟磁盘里问题就解决了,所以应该不是你提到的这个. #4 楼 @xds2000 我也搜到说用 nsf 替换,只不过刚启动时报错 requested NFS version or transport protocol is not supported 还在尝试 使用 nsf 问题解决,那么这个应该是 virtualbox 的问题,而不是 vagrant 的问题吧?我把 virtualbox 更新到最新 4.3.4, 并更新了 guest additions 也不行。

@xdada 你可以@一下 vagrant 作者,他有过结论在这个问题上。

@xdada 不是无解,是 mitchellh 说的,还没解决。

#8 楼 @xds2000 Although this is an upstream VirtualBox problem, tickets remain unclosed after more than 2 years 这是 mitchellh4 年前说的,6 年了,标记成 solved 后问题还存在...这个希望很渺茫了吧...

@xdada 是的,这就是社区的魅力。当有问题出现时,你才会感到痛。但一般你不会再前进一步,尝试去解决它。大家只能等,知道大家都感到痛苦了,哪位大神受不了了,估计半个小时就能搞定,然后世界就 Happy 了,大家都狂欢了。这位大神也许就是你,只要你去做。

gem 'thin' 飞快

需要 登录 后方可回复, 如果你还没有账号请 注册新账号