2015-04-24 57 views
2

嗯,坦率地说,这是我在测试服务器上开发模式下的第一个ROR安装。 我已经安装的一个实例:rvmsudo rails server -p 80 通过SSH 它工作绝对没问题:https://github.com/sharetribe/sharetribe保持ROR应用程序即使退出shell也能运行

我使用启动服务器。 但是,一旦我退出终端[苹果]应用程序停止。请注意,我在某台服务器上运行此操作,而不是在本机上运行本地主机。

我和节点工作,我知道有再像永远库,以保持甚至在退出运行该脚本。有没有更简单的方法来实现这一点在rails应用程序呢?

我得到了像“上帝”的一些lib中的一些环节,但它真的很难理解如何使用它。

请建议。

回答

2

尝试运行它作为一个守护进程:

rvmsudo rails server -p 80 -d & 

现在的应用程序应该运行,即使你从shell退出

+0

谢谢。这工作就像魅力。我可以退出shell并且脚本仍然继续工作。 –

0

如果您只是想快速选择,可以在screenhttp://linux.die.net/man/1/screen)内运行rails s。所有的
首先安装screen从你的包库,然后:

开始屏幕打字:screen
运行服务器:rails s
分离屏幕,然后转到你的主要过程:如果您想查询Press CTRL+a then CTRL+d
屏幕后:screen -r(在你的主进程)
如果你想杀死屏:CTRL+d(内网处理)

Remeb呃,这只是为了测试事情,这个替代方案对于生产服务器来说并不是那么好。

1

这听起来像你想绕过创建一个永久的服务器生产网站。

基本上,rails s命令实际上只是发展,施展出你的代码,你写吧。它不适合运行在大的世界中使用的实际应用程序(这是默认情况下不在端口80上运行的原因)。

如果你希望不止一个人使用的应用程序在任何给定的时间,使用rails s方法时,这会导致无法解释的错误。

你需要一个更重量级的服务器应用程序来处理它,然后到轨传递请求。

通常我会将此设为使用Apache和“乘客”插件。这将允许您的应用程序一次处理多个请求(另外,使用sqlite数据库执行此操作时会遇到困难,几乎任何其他操作都可以处理多个访问点)。

试图通过文档,找乘客https://www.phusionpassenger.com/

也有很多的教程网上有关如何部署Rails应用,这里只是一对夫妇:


如果由于某种原因,您希望打开此服务器,无需终端,以供单个用户使用,则可以使用nohup

nohup rails s & 
exit 
相关问题