
我在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查找,这在查找失败时会出现问题,因为它往往会在我的本地计算机上始终如一地执行.
有几种方法可以解决这个问题.
Hack / etc / hosts
第一种是破解/ etc / hosts,这样你的客户端机器就有了一个条目.黑客/ etc / hosts是半高级的,但基本上相当于计算你主机的IP地址是什么,并在/ etc / hosts文件中添加一行.这需要根级权限.
>获取您的IP地址 – 当您提出请求时,这将在Rails控制台中看到,并且看起来像这样:在8月21日星期二11:33:23 -0700开始获取“/”for 10.0.2.2 – in在这种情况下,IP地址是10.0.2.2.
>在/ etc / hosts中添加一行以标识该IP地址:10.0.2.2 Nerdmaster
一切都应该好!
禁用守护程序
这似乎适用于一些ubuntu用户:
服务avahi-daemon停止
鉴于您正在查杀服务,可能还有其他应用程序存在问题.这可能是最好的临时措施,而不是永久措施,但我对服务知之甚少,所以不要相信我的话:)
这还需要根级权限.
哈克webrick
我真的很鄙视黑客核心Ruby代码,我必须在每次更新时重新破解,但这是许多人所做的:
>找到你的webrick / config.rb
>如果你正在运行一个普通的Ruby,它可能在/usr/lib/ruby/[version]/webrick/config.rb中
>如果您使用RVM,则必须找到相应的ruby目录,例如: /home/username/.rvm/rubIEs/[version]/lib/ruby/[version]/webrick/config.rb
>我不知道杰克有关像rbenv这样的其他选择
>最坏情况,尝试查找/ -type d -name“webrick”
>在您喜欢的编辑器中编辑(显然这将是vim)
>寻找:DoNotReverseLookup =>零.
>将nil更改为true.
>如果您没有看到此设置,则可能必须使用上面的/ etc / hosts Hack.
如果您不使用rvm或类似的东西,这将需要根级权限.
不要使用webrick
我不认为这是一个真正的解决方案,因为webrick有时候是你最好的(或者至少是最快的)选项,但是你可以尝试不同的服务器.瘦和杂种似乎有很好的支持,并根据这个问题的其他人说,似乎不进行反向DNS查找.我没有尝试过这些方法,所以我不确定它们有多好.
这可以在没有根级权限的情况下完成.
总结以上是内存溢出为你收集整理的ruby-on-rails – 在VirtualBox上的Ubuntu 11.10上的Rails 3.1非常慢全部内容,希望文章能够帮你解决ruby-on-rails – 在VirtualBox上的Ubuntu 11.10上的Rails 3.1非常慢所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)