现在,如何在我的服务器上运行我的第一个ruby应用程序?

时间:2011-12-31 23:29:32

标签: ruby sinatra passenger rack resque

所以我已经成功完成了我的第一个ruby应用程序:)

当我在本地编程时,我必须在终端中单独使用以下所有命令才能启动并运行。问题是当我关闭终端时它们都停止了,所以即使我在服务器上注销ssh,我也不知道如何让它们保持打开状态。

首先,我在端口9292上通过机架(sinatra框架)运行应用程序,然后启动redis,然后为2个Resque作业队列创建一个单独的工作程序

rackup config.ru
redis-server
rake workers:start

我没有使用“生产/开发”结构只是因为我还没有真正了解它。我只是想简单地设置它,然后我可以回去学习它是如何工作的。所以我知道这不是专业应用程序的最佳方法,但是现在我正在寻找最简单的方法(但仍然没有采取快捷方式)。

我也相信我将使用乘客正式运行。我不确定接下来的步骤是什么让它运行起来所以我可以退出它只是保持活跃和工作。我也不知道我是否必须单独运行命令,或者我是否可以将它们全部放在一个文件中,所以我只运行passenger start,这就是结束。

1 个答案:

答案 0 :(得分:2)

如果您要使用Passenger来托管您的应用程序,那么您将不会运行命令来启动服务器;相反,应用程序只会作为nginxhttpd的一部分运行,它将通过系统的init(8)工具启动。

init(8)的配置方式因系统而异,但SysV-style init通常在/etc/rc*.d/*目录中有脚本来控制启动,Upstart-based systems将在{{3}}中配置文件{1}},等等。那时,您不是在寻找运行/etc/init/应用程序的方法,而是一种启动Apache passengerhttpd的方法,这是一个已经很好解决的问题。