1

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

4

2 回答 2

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 之类的东西:

部署 Rack 应用程序的可靠方法 (Sinatra)

于 2013-01-16T22:08:59.690 回答
0

你也可以使用gnu screen

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

于 2013-01-18T08:56:37.787 回答