Ubuntu
如何在我的 ubuntu 12.04 機器上安裝 rvm 作為啟動腳本啟動 unicorn_rails?
我的伺服器上有一個 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 會效仿。