2013-10-17 34 views
1

我有一個簡單的sinatra應用程序,我使用的是在jruby背後的nginx上使用美洲獅。彪馬將不會重新啓動一個SIGUSR1信號

我有我的示例應用程序運行並正常工作。

我現在正在嘗試通過發送SIGUSR1信號手動重啓美洲獅服務器,如the puma docs中所述。但是,而不是導致服務器重新啓動,我開始得到502壞網關錯誤。 nginx日誌顯示:

013/10/17 20:40:12 [error] 755#0: *25 connect() to unix:///var/run/mysockets/te 
st_app.sock failed (111: Connection refused) while connecting to upstream, clien 
t: <my ip>, server: jonahtest.example.com, request: "GET/HTTP/1.1", upstr 
eam: "http://unix:///var/run/mysockets/test_app.sock:/", host: "jonahtest.example 
.com" 

因此,而不是重新啓動,它停止工作。這裏是我發的SIGUSR1信號:

[email protected]:/var/www/webricktest$ jobs -p 
863 
[email protected]:/var/www/webricktest$ kill -s SIGUSR1 863 
[email protected]:/var/www/webricktest$ jobs -p 
863 
[1]+ User defined signal 1 puma -e production -b unix:///var/run/mysockets/test_app.sock 
[email protected]:/var/www/webricktest$ 

,此後不久,對自己,對原始彪馬過程和與用戶定義的信號消失,如果我再次運行jobs -p我什麼也沒得到。然而,套接字仍然在/var/run/mysockets/test_app.sock,我必須手動rm它才能重新啓動美洲獅。

我的問題是:爲什麼kill -s SIGUSR1 <pid>無法重新啓動美洲獅?我怎樣才能使它工作?

謝謝!

回答

1

這是我閱讀一些過時的教程導致的一個簡單的錯誤。

您只需發送SIGUSR2信號而不是SIGUSR1