我一直在使用Monit监视我的瘦服务器,一切正常,直到我将我的Rails版本从2.3.4升级到2.3.14。 现在当我尝试使用monit来启动Thin时,它给了我一个无法解释的gem错误:
Missing the Rails 2.3.14 gem. Please `gem install -v=2.3.14 rails`
我认为这可能是一个GEM PATH问题,也尝试在启动命令中设置GEM_HOME和PATHvariables:
check process thin3001 with pidfile /home/blahblah/apps/Vocab/shared/pids/thin.3001.pid start program = "/usr/bin/env PATH=/usr/lib/ruby/gems/1.8/gems GEM_HOME=/usr/lib/ruby/gems/1.8/gems /usr/bin/ruby /usr/bin/thin -C /etc/thin/vocab.yml start -o 3001" stop program = "/usr/bin/ruby /usr/bin/thin -C /etc/thin/vocab.yml stop -o 3001" if totalmem > 150.0 MB for 5 cycles then restart group thin
这很奇怪,因为如果我在控制台中运行启动命令,它工作正常,只有在我得到缺less的Gems错误。
好吧,遇到一些关于monit不加载控制台环境,我想这不是加载正确的Rubypath或东西。 无论如何,它有以下工作:
start program = "/bin/su - user -c '/usr/bin/thin -C /etc/thin/vocab.yml start -o 3000'"
“/ bin / su – user -c”加载用户的shell环境(你需要用你的用户名replace)。
我怀疑最新的rack
不适用于当前版本的thin
版。 卸载机架1.1.3,看看你的问题是否消失:
gem uninstall rack -v=1.1.3