EC2:Rails部署提供空白页面

时间:2014-03-13 23:41:29

标签: ruby-on-rails web-applications amazon-ec2

我已经在EC2上部署了我的rails应用程序。它运行在两台服务器上。一个用于rails应用程序,另一个用于DB。

当我使用“rails s -e production&”启动应用程序时如果我使用SSH保持连接, 我可以看到网页。

一旦断开SSH,我就看不到页面了。

没有抛出任何错误。一个奇怪的事情是“Production.log”文件没有任何东西。 一切都在控制台上吐出来。

2 个答案:

答案 0 :(得分:0)

您正在当前的ssh会话中运行rails。如果断开连接,在该会话期间运行的任何程序都将停止。您需要将rails应用程序设置为使用Phusion Passenger之类的守护程序运行。

答案 1 :(得分:0)

您基本上运行的内置WEBrick服务器并非真正用于生产,因此很可能在父进程(您的ssh进程)终止后该进程被终止。

您可以调整配置以使WEBrick不退出,或者只需使用screentmux

运行会话即可

<强>屏幕:

$ screen
$ rails s -e production &
$ screen -d

如果您想重新加入:

$ screen -r

<强> TMUX:

$ tmux
$ rails s -e production &
$ # Hit <ctrl-b><ctrl-d> to detach

如果您想重新加入:

$ screen attach -t 0

或者像@datasage提到的那样,您可以使用Passenger PhusionUnicorn这样的实际生产网络服务器来运行您的Rails。