我已经在EC2上部署了我的rails应用程序。它运行在两台服务器上。一个用于rails应用程序,另一个用于DB。
当我使用“rails s -e production&”启动应用程序时如果我使用SSH保持连接, 我可以看到网页。
一旦断开SSH,我就看不到页面了。
没有抛出任何错误。一个奇怪的事情是“Production.log”文件没有任何东西。 一切都在控制台上吐出来。
答案 0 :(得分:0)
您正在当前的ssh会话中运行rails。如果断开连接,在该会话期间运行的任何程序都将停止。您需要将rails应用程序设置为使用Phusion Passenger之类的守护程序运行。
答案 1 :(得分:0)
您基本上运行的内置WEBrick服务器并非真正用于生产,因此很可能在父进程(您的ssh进程)终止后该进程被终止。
您可以调整配置以使WEBrick不退出,或者只需使用screen或tmux
运行会话即可<强>屏幕:强>
$ 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 Phusion或Unicorn这样的实际生产网络服务器来运行您的Rails。