Vit*_*lyP 4 virtualbox ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
我在Windows7上安装了带有Ubuntu 11.10的VirtualBox.我在webrick(rails s)上运行Rails 3.1并从Windows上的浏览器转到VirtualBox的IP地址(192.168.2.xxx:3000).此刻我遇到麻烦 - 页面加载速度非常慢,在Rails控制台上我看到它响应文件的速度有多慢(css,js,images):每个最多5秒!但是:如果我在Ubuntu中去0.0.0.0:3000 - 它完美无缺.
问题出在哪儿?在哪里寻找解决方案?
如上所述,它似乎是另一个问题的重复,虽然该问题特别提到了webrick和远程桌面连接,我都没有找到,因为我不知道它是webrick特有的.
所以我认为应该注意的是,这不是虚拟机或BIOS设置或类似设置的错误配置.这绝对是一个问题.如果他们不尝试进行反向DNS查找,其他服务也可以正常工作.
问题源于Webrick的默认设置,即尝试进行反向DNS查找,这在查找失败时会出现问题,因为它往往会在我的本地计算机上始终如一地执行.
有几种方法可以解决这个问题.
首先是破解,/etc/hosts以便您的客户端机器有一个条目.黑客攻击/etc/hosts是半高级的,但基本上相当于确定你托管机器的IP地址是什么,并在你的/etc/hosts文件中添加一行.这需要根级权限.
Started GET "/" for 10.0.2.2 at Tue Aug 21 11:33:23 -0700 2012- 在这种情况下,IP地址是10.0.2.2./etc/hosts标识该IP地址:10.0.2.2 Nerdmaster一切都应该好!
这似乎适用于一些ubuntu用户:
service avahi-daemon stop
鉴于您正在查杀服务,可能还有其他应用程序存在问题.这可能是最好的临时措施,而不是永久措施,但我对服务知之甚少,所以不要相信我的话:)
这还需要根级权限.
我真的很鄙视黑客核心Ruby代码,我必须在每次更新时重新破解,但这是许多人所做的:
webrick/config.rb
/usr/lib/ruby/[version]/webrick/config.rb你运行普通的Ruby时/home/username/.rvm/rubies/[version]/lib/ruby/[version]/webrick/config.rbfind / -type d -name "webrick":DoNotReverseLookup => nil.nil到true./etc/hosts上面的hack.如果您不使用rvm或类似的东西,这将需要根级权限.
我不认为这是一个真正的解决方案,因为webrick有时候是你最好的(或者至少是最快的)选项,但是你可以尝试不同的服务器.瘦和杂种似乎有很好的支持,并根据这个问题的其他人说,似乎不进行反向DNS查找.我没有尝试过这些方法,所以我不确定它们有多好.
这可以在没有根级权限的情况下完成.
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |