嘗試了幾個小時後(還試圖使用God和Bluepill),我決定在這裏問我的問題,因爲我完全無能爲力,因此我無法解決這個問題。OSX/Linux上的Monit + RVM + Thin
我有一個Rails應用程序。我想用Thin作爲我的應用服務器。我想用Monit來監控我的Thin實例。我使用RVM作爲我的本地用戶來管理我的Ruby版本。
我已成立,將assumably做我想做的事情,但下面的monit文件不:
check process thin-81
with pidfile /Users/Michael/Desktop/myapp/tmp/pids/thin.81.pid
start program = "/Users/Michael/.rvm/gems/ruby-1.9.2-p180/bin/thin start -c /Users/Michael/Desktop/myapp -e production -p 81 -d -P tmp/pids/thin.81.pid"
stop program = "/Users/Michael/.rvm/gems/ruby-1.9.2-p180/bin/thin stop -c /Users/Michael/Desktop/myapp -P tmp/pids/thin.81.pid"
if totalmem is greater than 150.0 MB for 2 cycles then restart
如果我只是複製/粘貼start program
在命令行(外Monit)它的工作原理。之後再停止Thin實例stop program
也是如此。但是,通過Monit運行它似乎不起作用。
在-v
詳細模式下運行它產生以下:
monit: pidfile '/Users/Michael/Desktop/myapp/tmp/pids/thin.81.pid' does not exist
這使我相信,從來不薄初始化。 Monit運行的是root
還是別的?如果它確實存在,那麼它顯然不會安裝正確的寶石,因爲我使用的是RVM,而不是「系統」Ruby。我目前在OSX上(但最終會部署到Linux) - 有誰知道這可能是什麼原因?如果Monit是通過root運行的,那麼我怎樣才能讓它使用RVM?或者我可以告訴Monit執行啓動/停止程序Michael:staff
(我認爲它將在OSX上?)
任何幫助非常感謝!
謝謝,這是我不知道的。 :) – 2011-05-25 12:06:28