Ubuntu

如何在我的 ubuntu 12.04 機器上安裝 rvm 作為啟動腳本啟動 unicorn_rails?

  • April 17, 2014

我的伺服器上有一個 Rails 應用程序。我有一個腳本 startup.sh,它啟動 unicorn_rails,然後啟動 nginx。

為了讓我的伺服器在系統啟動時啟動,我添加了一行來呼叫我的啟動腳本到 /etc/rc.local

但是,這不起作用。我添加了一些檢查以確保正在呼叫腳本並且確實如此。這是我認為失敗的對 unicorn_rails 的呼叫。有人對此有經驗嗎?

原來這是一個使用者權限問題。Unicorn、ruby 和 rails 安裝為我的正常登錄,而腳本以 root 使用者身份啟動。這造成了安裝的 gems 對 root 使用者不可見的問題。我通過以“su”作為我的正常非 root 使用者呼叫第二個腳本解決了這個問題。

我遇到了同樣的問題,我能夠通過為 unicorn_rails 創建一個 init.d 腳本然後在啟動時使用 chkconfig 啟用它來解決我的問題。

chmod +x /etc/init.d/unicorn
chkconfig unicorn on

範例 unicorn_rails init.d 腳本。 https://github.com/wayneeseguin/rvm/blob/master/contrib/unicorn_init.sh

我在腳本中所做的唯一重大更改是將 nginx 服務呼叫添加到操作塊中。這樣,當您在 unicorn_rails 上啟動/停止/重新啟動或執行狀態時,nginx 會效仿。

引用自:https://serverfault.com/questions/431703