6

我有点迷茫,我尝试将我的应用程序部署在共享的 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 支持答案

服务器是最新的,所以这不是问题。他们提议冻结 Gems,我照做了(参见: http ://wiki.dreamhost.com/Freezing_Gems ),但没有帮助。我想我正在放弃,并寻找专门用于 Rails 的托管。

谢谢你的帮助!

更改为 hostingrails.com

我在hostingrails.com 上运行了该应用程序,hostingrails.com 上的乘客向我显示了错误,而dreamhost 或mongrel 没有显示这些错误。通过更正这些错误,我让应用程序正常工作。

4

1 回答 1

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(又名 mod_rails)上运行。通过 Dreamhost 面板应该很简单,您只需启用域以使用 mod_rails,然后将域的目录设置为应用程序的公共目录。有关详细信息,请参阅乘客wiki 页面。

于 2009-06-12T14:55:14.390 回答