加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在VirtualBox上的Ubuntu 11.10上的Rails 3.1非

发布时间:2020-12-17 02:53:34 所属栏目:百科 来源:网络整理
导读:我在 Windows7上安装了带有Ubuntu 11.10的VirtualBox. 我在webrick(rails s)上运行Rails 3.1并从Windows上的浏览器转到VirtualBox的IP地址(192.168.2.xxx:3000). 此刻我遇到麻烦 – 页面加载速度非常慢,在Rails控制台上我看到它响应文件的速度有多慢(css,js,
我在 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查找,这在查找失败时会出现问题,因为它往往会在我的本地计算机上始终如一地执行.

有几种方法可以解决这个问题.

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查找.我没有尝试过这些方法,所以我不确定它们有多好.

这可以在没有根级权限的情况下完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读