0

我刚刚开始学习 RoR,遵循一本书/教程(http://ruby-auf-schienen.de/3.2/webserver_mit_capistrano.html)。我读到了关于设置 Capistrano 部署的章节。教程中使用了带有独角兽的 nginx。我的环境是用于开发的 Windows 7 PC 和作为生产服务器的 Debian PC 问题是,独角兽将无法在 Windows 环境中工作,因为bundle install后出现 ngio 错误:

安装 kgio (2.8.0) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension

搜索此处和其他来源,我发现此错误是因为 kgio 仅适用于 *nix 系统。

我现在的问题是,我可以使用 unicorn/nginx 进行生产和使用瘦/nginx 进行开发的 capistrano 部署方式来设置我的环境吗?什么时候是如何?如果没有,如果不将开发 PC 更改为 Linux,有什么可能?

在此先感谢您的帮助。

问候马蒂亚斯

4

1 回答 1

0

对的,这是可能的。Unicorn 永远不会在 Windows 上运行,因为它是明确地围绕 Unix 技术设计的,而 Thin 却不行。这很简单。在 Windows 上,gem install thin. 如果您运行rails s thin它,它将为您启动 Thin 作为开发服务器。

话虽如此,我通常不鼓励将 Windows 作为 Ruby 工作的开发环境。有很多 gem 在 Windows 上无法正常工作,并且您的应用程序在 Windows 上的行为与在 Unix 上的行为略有不同。至少,您应该有一个运行 Linux 的登台服务器。

我也会推荐Phusion 乘客而不是独角兽。它更易于使用和管理,是一个非常受欢迎的选择。例如纽约时报、赛门铁克、Airbnb、亚马逊等都在使用它。它以更智能的方式管理资源,并具有更多的稳定性和容错特性。

于 2013-05-05T14:36:21.143 回答