我尝试创建一个可执行文件,它通过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
有关我如何追踪其立即退出的建议吗?
答案 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