2014-03-13 128 views
0

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

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

只要断开SSH连接,我就看不到页面。

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

回答

0

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

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实际生产的Web服务器上运行你的Rails。