2012-07-24 12 views
6

Bir daemon uygulaması olarak Thin aracılığıyla bir Sinatra uygulamasını başlatan bir yürütülebilir dosya oluşturmaya çalışıyorum. BenThin :: Server # daemonize çıkışlar hemen çıkar

yaptığınızda

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

sunucu ince başlar: Senaryoyu yürütmek zaman İşte

#!/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 

alıyorum ölçüm değeridir: Ben Sinatra uygulaması ile İnce çağırmak için bu kodu kullanıyorum
server.start 

Herhangi bir önerinizi neden hemen çıkardığını nasıl izlerim?

+0

1. mi tmp klasörü yazılabilir? 2. Sunucu nesnesi oluşturma bölümünde App veya App.new uygulaması var mı? – Kashyap

cevap

4

daemonize'u kullanmak yalnızca komut dosyasını bir sunucu yapar, aslında sunucuyu başlatmaz. Hala daha sonra start çağırmanız gerekir:

server.daemonize 
server.start 

Giriş dosyası:

>> 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 
+0

Bir çekicilik gibi çalışır. Çok teşekkürler! – benzimmer

+0

Bu oldukça eski bir yazıydı, ancak 'server.daemonize' çağrıldıktan sonra açıkca ince başlamam gerekmedi – poorva