如何在Windows上使用Thin启动和停止Sinatra应用程序?

6
class App < Sinatra::Base
  def hello
    "world"
  end
end

从文档中我发现可以这样启动应用程序:

App.run

虽然这不会返回控制权。

如何在后台启动应用程序,以及如何停止它。

我的环境是:Windows,Ruby 1.9.2


1
你所说的“返回控制”是什么意思?就像在命令提示符下吗?此外,你现有的代码还远远不能正常工作。 - Paul Hoffer
Thin 在 Windows 上能用吗? - craigp
2个回答

7
使用像Dmitry Maksimov建议的config.ru配置文件:
#config.ru
require './your_app_file'

run YourApp

接下来,使用rackup -D命令开始运行,这意味着它将以守护进程的方式在后台运行。

我并不推荐在开发过程中使用此方法。最好使用Shotgun工具。


1
它被守护进程化后,你如何停止它? - Ian Vaughan
1
我现在无法检查。但是使用配置文件和守护进程的 thin start -C ... 组合应该可以让你像这样停止它:thin stop -C ... - scable

6
在您的应用程序顶级目录中创建rackup文件 - config.ru - 并包含以下内容:
# config.ru
$: << File.expand_path(File.dirname(__FILE__))

require 'your app'
run Sinatra::Application

接着只需使用thin start命令运行您的应用程序即可。


2
看起来thin start似乎控制着程序,但它似乎不在后台运行。 - Prakash Raman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接