Thin :: Server#daemonize立即退出

时间:2012-07-24 09:34:25

标签: ruby sinatra thin

我尝试创建一个可执行文件,它通过Thin作为守护进程启动Sinatra应用程序。 我正在使用此代码使用Sinatra应用程序调用Thin:

#!/usr/bin/env ruby

require 'thin'
require 'app.rb'

server = ::Thin::Server.new('127.0.0.1', 9999, App)
server.log_file = 'tmp/thin.log'
server.pid_file = 'tmp/thin.pid'
server.daemonize

这是我执行脚本时得到的日志输出:

>> Writing PID to tmp/thin.pid
>> Exiting!

当我这样做时服务器正常启动

server.start

有关我如何追踪其立即退出的建议吗?

1 个答案:

答案 0 :(得分:4)

使用daemonize仅使脚本成为守护程序,它实际上并不启动服务器。您之后仍需要致电start

server.daemonize
server.start

日志文件:

>> Writing PID to tmp/thin.pid
>> Thin web server (v1.4.1 codename Chromeo)
>> Maximum connections set to 1024
>> Listening on 127.0.0.1:9999, CTRL+C to stop