首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows上部署Rails 3应用程序?

如何在Windows上部署Rails 3应用程序?
EN

Stack Overflow用户
提问于 2011-03-11 04:00:00
回答 3查看 5.5K关注 0票数 7

我一直在寻找在Windows上可靠地部署Rails 3应用程序的方法。我很震惊,现在似乎没有任何方法可以做到这一点。Apache + install服务解决方案目前无法工作,因为Mongrel无法在守护进程模式下运行,因此我无法将其安装为mongrel_service。

我想这些要求应该是:

  • 与Rails 3兼容的web服务器。
  • 必须能够以Windows服务的形式运行,并已被守护。
  • 必须能够自动重新启动,以防出问题。
  • 必须是生产质量:没有内存泄漏等。
  • 应该能够扩展,并同时接受多个请求。
  • 更少的黑客攻击。

我发现了这些东西:

  • Mongrel还没有为Rails 3做好准备(1.2.0pre),我在控制台窗口中经历了相当快的内存泄漏。应用程序就会退出。
  • Mongrel不使用Rails 3在守护进程模式(-d)中运行。
  • 因此,Mongrel不能作为服务安装。
  • Phusion乘客无法在Windows上使用(这将是最好的解决方案)。

这些是我想出的可能的解决方案:

  • 获得一个Linux机箱,安装Apache + Phusion乘客和滚。
  • 使用薄,然而,作者说,薄薄的过程没有“戒备森严”。
  • 然而,使用Ngnix说,他只是运行了一个默认应用程序,而不是一个完整运行的应用程序。
  • 使用Ngnix。我认为这个解决办法也有同样的问题。
  • 使用Linux的虚拟化,但我必须解决诸如自动启动等问题。
  • 在Tomcat中的JRuby上运行。

这可能是一个方便的工具:http://projectkenai.com/projects/winsw

我希望我们能为这个问题找到真正的解决办法。

更新:

我同意JRuby +一个j2ee容器是最好的选择。一些问题必须得到解决,比如带扩展的gems,等等。这里有很多有价值的想法:id35801805

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-23 14:41:16

这是我目前正在运行的设置:

  • Windows服务器2008
  • Apache 2.2
  • 瘦服务器
  • 红宝石1.9.2
  • Rails 3.0.9

这个伟大的教程"如何用WindowsServer2008EE安装和配置Rails“涵盖了这些方面的安装。我忽略了LDAP和ActiveDirectory位,但是在安装瘦服务器时有一个很好的解决方法,因为gem 'thin'通常会在Windows上崩溃。

在生产中,我设置了MySQL Server5.5来承载我的数据库。Rails 3需要mysql2适配器,但在我的Windows环境中还不支持。mysql适配器还会在Rails 3上抛出一个错误,但作为一种解决办法,您可以通过安装旧版本的libmysql.dll来使其工作。您只需将其放到just 192/bin目录中即可。

一旦安装了适当的mysql适配器和服务器,就需要创建数据库:

代码语言:javascript
复制
>> mysql -u root -p  
[enter root pw]  
create database production;  
quit;  

(如果找不到' MySQL‘,您可能需要将mysql安装添加到您的路径中。)

最后,设置在您的_rails_app/ config / database中找到的数据库配置:

代码语言:javascript
复制
# MySQL Production Database
production:
  adapter: mysql
  database: production
  pool: 5
  timeout: 5000
  encoding: utf8
  password: [your_root_password]
  host: localhost

其余部分,包括代理设置和作为Windows服务运行,将在"如何用WindowsServer2008EE安装和配置Rails“中讨论。为了确保基本的瘦设置正确运行:

代码语言:javascript
复制
thin start -p 3000 -e production

这将在生产模式下使用MySQL数据库在端口3000上启动服务器。这里唯一缺少的是负载平衡,我希望能尽快找到答案!

票数 6
EN

Stack Overflow用户

发布于 2011-03-18 03:57:15

就我个人而言,我认为JRuby + Tomcat大道将是你最好的选择,因为Tomcat是在Windows上被审查的,它和JRuby一起相当稳定。我的第一个想法也是乘客,但遗憾的是它仍然没有被移植。

票数 2
EN

Stack Overflow用户

发布于 2014-03-21 18:28:48

EngineYard很容易从windows环境中部署rails应用程序--只需安装ey并在gemfile.lock中更改一两件东西--很好的链接是https://support.cloud.engineyard.com/entries/20996706-Deploy-from-Windows

当你开始工作时,他们也会给你500个空闲时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5268794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档