推荐用于 Rails 3.1 和 Ruby 1.9.2 的开发 Web 服务器

Posted

技术标签:

【中文标题】推荐用于 Rails 3.1 和 Ruby 1.9.2 的开发 Web 服务器【英文标题】:Recommended development web server for Rails 3.1 and Ruby 1.9.2 【发布时间】:2011-11-22 09:36:56 【问题描述】:

我已经成功地将 Mongrel 用于 rails 2.* 和 3.0* 开发,以及 ruby​​ 1.8.7。

我最近开始使用 Rails 3.1 和 ruby​​ 1.9.2。我让我的测试应用程序在 WEBrick 上运行。我不喜欢WEBrick。如果我忘记并简单地关闭 WEBrick 终端窗口而不是进入窗口并向 WEBrick 发出 Control-C,则服务器端口 (3000) 将保持使用状态,并且在我注销之前我无法再次运行“rails server”一切并让WEBrick从端口表中清除。 Mongrel 从来没有遇到过这个问题。

我确实遇到了 Mongrel 和 ruby​​-1.9.2 的构建问题。我在构建中获得了多个头文件,一些引用 ruby​​-1.9.1 和一些 ruby​​-1.9.2。真是一团糟。

我的配置推荐的开发 Web 服务器是 32 位 Ubuntu Natty with Rails 3.1 和 ruby​​ 1.9.2?

【问题讨论】:

您真的想要解决 WEBrick 问题(这是答案正在尝试)、Mongrel 构建问题(需要更多信息)或一般“购物推荐”(其中会因为没有建设性而被关闭)? 【参考方案1】:

感谢各种端口监听kill命令,我会构造一些简单的东西来清除WEBrick的烦人习惯,并继续使用它。关注开发 Web 服务器问题在我的优先级列表中很低;他们应该工作。

从我的问题可以看出,我的 Linux 技能并没有深入内核。

【讨论】:

我发现保持窗口打开以检查输出非常有用。特别是如果它在单独的计算机/显示器上。【参考方案2】:

Webrick 很适合我。我遇到的唯一问题是它不适用于 https 安全。解决方案是只在登台和生产上运行 https,而不是在开发机器上运行。

我只使用开发机器作为服务器,并在Windows机器上使用记事本++进行开发。在使用了糟糕的 Rails IDE 之后,我认为它运行良好。 (我以前用过Visual Studio,很喜欢。)通过本地IP和端口访问网页。对于 Windows 用户来说,这是一种廉价、快速、简单的解决方案。

我正在运行 Ubuntu 11.04、Rails 3.07、带有 RVM 的 Ruby 1.92 和 PostgreSQL。 RVM 应该让 Ubuntu 用户的生活更轻松,因为 Ubuntu 使用不同版本的 Ruby。

杀死运行在 3000 端口的服务器进程:xxxx 是第一行返回的值。

$ lsof | grep 3000
$ kill -9 xxxx

这可以很容易地组合成一行或别名killserver 或类似的。

【讨论】:

很有趣,但请问my output is a list,您如何轻松地将其放入脚本中? 有趣。我的结果只有 1 行。你是在 3000 端口上运行远程桌面还是其他东西? 我不知道那个命令,我在服务器(ubuntu)的同一台机器上,杀死服务器后列表仍然很长......我明天在我的笔记本电脑上试试我会看到的。 pkill 比我们现在做的要容易得多......最终它会杀死控制台

以上是关于推荐用于 Rails 3.1 和 Ruby 1.9.2 的开发 Web 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 1.9不会杀死Python

什么是 Ruby 1.9 标准 CSV 库?

如何避免将魔术编码注释放在 Ruby 1.9 中每个 UTF-8 文件的顶部?

内联 Javascript 在 Rails 3.1 上重新渲染部分 ruby​​ 时无法正常工作

Ruby On Rails 3.1 中的尾随日志文件

推荐 7 款最好的 Ruby on Rails 集成开发环境