如何将Rails应用部署到Dreamhost?

6
我有点迷失了,我试图在共享的Dreamhost服务器上部署我的应用程序。 现在一切都在本地正常工作。这是我第一次尝试Rails,我不是真正的程序员或系统管理员,只是在拼凑一些东西。
在Dreamhost上,如果我启动webrick,在端口3000上它能正常工作,但是webrick很快就会被杀死,我想这是有道理的。
那么我需要做什么才能让它运行?
我启用了fastcgi支持和mod_rails。
现在,如何让应用程序不断运行?
我一直在读关于必须对.htaccess和dispatch.fcgi进行操作的内容。
但是我找不到我的rails应用程序(2.3.2)中的任何dispatch文件。
我需要手动创建它吗?这对我来说并不像Rails风格。我真的没有弄清楚这个dispatch文件是做什么的,以及为什么需要它。
任何帮助都将不胜感激。
我查看了DH Wiki,但无法弄清楚(http://wiki.dreamhost.com/Rails补充
我启用了mod_rails并指向了public目录(我已经这样做了)。 我一直收到一个错误:screencast.com/t/KamqVawk
嗯,服务器日志看起来没有请求,所以这可能是Dreamhost的问题。奇怪的是,当我尝试访问页面时,access.log显示一个新的更改日期,但没有记录任何请求,error.log也是空的。 Dreamhost支持答案
服务器已经是最新的,所以那不是问题。 他们建议冻结Gems,我也这样做了(请参见:http://wiki.dreamhost.com/Freezing_Gems) 但是它没有帮助。 我想我放弃了,并寻找专门为Rails设计的托管。
感谢您的所有帮助! 更改为hostingrails.com 我在hostingrails.com上使应用程序工作,hostingrails.com上的Passenger向我显示了dreamhost或mongrel未显示的错误。通过纠正这些错误,我让应用程序工作了。
1个回答

8
Dreamhost不允许您在使用共享托管时使用webrick。您可以使用FastCGI或Passenger来托管共享DH上的Rails(如果升级到DreamhostPS,则mongrel是一种选择,但显然更加昂贵)。
对于FastCGI,您需要一个dispatch.fcgi文件(较旧版本的Rails会在创建新的Rails应用程序时生成一个文件,但我记得这在2.2左右停止了),以及在.htaccess中编写代码以将请求发送到dispatcher。有关设置FastCGI的详细信息,请参见Dreamhost Ruby on Rails wiki页面。
更可取的选项是设置应用程序运行Phusion Passenger(也称为mod_rails)。通过Dreamhost面板非常简单,您只需启用域使用mod_rails,然后将域目录设置为应用程序的public目录。有关更多详细信息,请参见Passenger wiki页面。

1
好的,那就是我实际上所做的。我启用了mod_rails并指向了公共目录。 我一直收到一个错误http://screencast.com/t/KamqVawk - Roland Studer
当您尝试访问您的网站时,您的日志文件会记录什么信息? - Daniel Vandersluis
正如您在我编辑的问题中所看到的,实际上没有任何内容被记录下来。 - Roland Studer
你的账户可能还没有设置mod_rails。我建议你联系DH支持,因为就我所看到的(你能添加一张域名编辑页面的截图吗?),你已经做得很正确了。 - Daniel Vandersluis
我会做的。 非常感谢你的帮助。 - Roland Studer
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接