2011-03-31 67 views
4

我有一個專用的服務器,使用Nginx,Unicorn和Ruby 1.9.2等運行10個Rails應用程序。我也使用capistrano進行部署。部署Unicorn Rails應用程序的最佳實踐(使用Upstart)

我所追求的是關於運行和部署這些應用程序的最佳實踐的一些建議。

每個應用程序都有自己的主目錄和用戶帳戶。然而,目前我已經在sudoers文件中設置了它們,以便它們可以在部署時重新啓動應用程序(我將capistrano配置爲運行restart.sh腳本)。這意味着我必須在部署時輸入用戶密碼(capistrano在嘗試運行restart.sh時提示我)。

可以將upstart守護進程配置爲在沒有sudo權限的情況下運行嗎?

有沒有更好的方法來做到這一點?

乾杯, 詹姆斯

回答

0

你可以簡單地運行ROR應用爲用戶誰運行Capistrano的部署腳本,並有用戶自己(或有運行權限)的restart.sh文件。

+0

是的,擁有該應用程序的用戶也運行了capistrano部署腳本。然而,標準用戶似乎無法重新啓動守護進程? – Jamsi 2011-04-01 02:58:28

+0

擁有該應用程序的用戶是否有權啓動restart.sh腳本嘗試重新啓動的每個進程? – fengolly 2011-04-01 06:18:52

+1

嗯,我想我以前的問題需要回答? 我後來轉向使用GOD來維護獨角獸進程。當上帝在無人使用的用戶下啓動它們時,capistrano腳本可以調用重新啓動GOD命令:) – Jamsi 2011-04-08 06:18:47