2

I've been using Monit to monitor my Thin server and everything was working until I upgraded my Rails version from 2.3.4 to 2.3.14. Now when I try and start Thin using monit it gives me an unfound gem error:

Missing the Rails 2.3.14 gem. Please `gem install -v=2.3.14 rails`

I thought this may be a GEM PATH issue and also tried setting the GEM_HOME and PATH variables in the start command:

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

It's strange because if I run the start command in the console it works fine, it's only within monit that I get the missing Gems error.

TenJack
  • 193
  • 2
  • 7

2 Answers2

2

Ok, came across something about monit not loading the console environment and I guess it was not loading the correct Ruby path or something. Anyways, got it to work with the following:

start program = "/bin/su - user -c '/usr/bin/thin -C /etc/thin/vocab.yml start -o 3000'"

The "/bin/su - user -c" loads the shell environment of user (you need to replace this with your username).

quanta
  • 50,327
  • 19
  • 152
  • 213
TenJack
  • 193
  • 2
  • 7
0

I suspect that the latest rack doesn't work with the current version of thin. Uninstall rack 1.1.3 to see if your problem go away:

gem uninstall rack -v=1.1.3
quanta
  • 50,327
  • 19
  • 152
  • 213
  • Ok, thanks. Thing is, thin starts fine when I run it in the console. Also, I get this warning when I go to uninstall, "actionpack-2.3.14 depends on [rack (~> 1.1.0)]." – TenJack Sep 08 '12 at 22:58