2015-09-21 164 views
2

我有兩個不同的項目在同一臺服務器上運行。他們都是Django項目,Gunicorn是wsgi服務器。頂部的服務器是Apache。目前有一個Jenkins的工作,更新回購的源代碼並重新啓動(殺死並啓動)gunicorn。這工作得很好,直到服務器只提供1個站點。 我殺了gunicorn如下django/gunicorn應用程序重新啓動

#!/bin/bash 
ps -ef | grep gunicorn | grep -v grep | awk '{print $2}' | xargs kill -9 

,然後重新啓動它。然而,這種方法將不會與2個地點,因爲殺死Gunicorn完全殺死所有Gunicorn進程。在任何時候我運行構建,只有那個網站的gunicorn將會重新生成。

我環顧四周,發現主管是我應該用來防止這種情況並無縫重新啓動Gunicorn的一個實用程序。

你們有沒有其他的建議或最佳實踐,我應該遵循?

感謝

回答

1

Gunicorn +監督員是非常標準的堆棧,你可以讓你的網站分隔爲不同的主管任務,而不是告訴詹金斯重新啓動監事,使用監督員方法重啓只是你的任務之一,而你'重做。

如果您的站點崩潰並且Gunicorn需要重新執行,主管也非常棒。

+0

感謝您的回覆。 – tkansara