我有点迷茫,我尝试在共享的dreamhost服务器上部署我的应用程序。 现在一切都在当地很好。这是我第一次尝试Rails,我不是一个程序员或系统管理员,只是一起黑客攻击。
在Dreamhost上,如果我开始webrick,它在端口3000上工作正常,但webricks会很快被杀死,我想这是有道理的。
那么我该怎样做才能让它运行?
我启用了fastcgi支持和mod_rails。
现在,如何让应用程序持续运行?
我一直在阅读有关必须要做的事情.htaccess和dispatch.fcgi。
但我在rails应用程序(2.3.2)中找不到任何调度文件。
我必须手动创建吗?对我来说真的不像铁轨那样。我并没有真正找到这个调度文件的作用,以及为什么需要它。
非常感谢任何帮助。
我查看了DH Wiki,但无法弄明白(http://wiki.dreamhost.com/Rails)
附加:
我启用了mod_rails并指向公共目录(我已经这样做了)。 我一直收到错误:screencast.com/t/KamqVawk
嗯,服务器日志看起来确实没有请求,所以这可能是dreamhosts端的一个问题。很奇怪我看到access.log显示一个新的更改日期,当我尝试访问该页面时,但没有注明请求,error.log也是空的。
Dreamhost支持回答:
服务器是最新的,所以这不是问题。 他们提议冻结宝石,我做了(见http://wiki.dreamhost.com/Freezing_Gems) 但它没有帮助。 我想我已经放弃了,并且正在寻找专门用于rails的托管。
感谢所有人的帮助!
已更改为hostingrails.com
我的应用程序在hostingrails.com上工作,hostingrails.com上的乘客向我展示了错误,这些错误未被dreamhost或mongrel显示。通过纠正这些错误,我让应用程序正常工作。
答案 0 :(得分:8)
如果您使用共享主机,Dreamhost将不允许您使用webrick。您可以使用FastCGI或Passenger在共享DH上托管Rails(如果您升级到DreamhostPS,mongrel是一个选项,但这显然更贵)。
对于FastCGI,你将需要一个dispatch.fcgi文件(旧版本的Rails会在你创建一个新的Rails应用程序时产生一个,但如果我没记错的话,它会在2.2左右停止)以及.htaccess中的代码将请求发送给调度程序。有关设置FastCGI的详细信息,请参阅Dreamhost Ruby on Rails wiki页面。
更优选的选项是将应用程序设置为在Phusion Passenger(aka mod_rails)上运行。通过Dreamhost面板应该非常简单,只需要让域使用mod_rails,然后将域的目录设置为应用程序的公共目录。有关详细信息,请参阅Passenger wiki页面。