在Apache服务器上连续运行Sinatra

时间:2013-01-16 21:59:11

标签: ruby sinatra

是否可以ssh进入服务器,使用Ruby启动Sinatra程序,然后退出ssh会话,仍然拥有{{} 1}}服务器运行?我试过这个,但似乎当我退出服务器时,Sinatra服务器退出了。难道我做错了什么?如果我不能这样做,我将如何连续运行Sinatra

2 个答案:

答案 0 :(得分:3)

这通常是由于shell(例如bash)退出并向其所有子进程发送挂起或终止信号。要在后台启动服务器并使其免受HUP信号的影响,您可以使用命令nohup

    nohup - run a command immune to hangups, with output to a non-tty

例如:

nohup ruby sinatra_app.rb &

http://en.wikipedia.org/wiki/Nohup

对于更强大的部署选项,您可能希望查看Nginx和/或Phusion Passenger之类的内容:

Robust way to deploy a Rack application (Sinatra)

答案 1 :(得分:0)

您也可以使用gnu screen

但是nohup可能是“可能最小的东西”。如果您开始多项工作并希望以不同方式处理它们,屏幕可以提供帮助。