Я использую Monit для мониторинга своего тонкого сервера, и все работало, пока я не обновил свою версию Rails с 2.3.4 до 2.3.14. Теперь, когда я пытаюсь запустить Thin с помощью monit, я получаю необнаруженную ошибку драгоценного камня:
Missing the Rails 2.3.14 gem. Please `gem install -v=2.3.14 rails`
Я подумал, что это может быть проблема GEM PATH, и также попытался установить переменные GEM_HOME и PATH в команде запуска:
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
Это странно, потому что, если я запускаю команду запуска в консоли, она работает нормально, только в пределах monit я получаю ошибку недостающего Gems.
Хорошо, кое-что наткнулся на то, что monit не загружает консольную среду, и я предполагаю, что он загружал неправильный путь Ruby или что-то в этом роде. В любом случае, он работал со следующим:
start program = "/bin/su - user -c '/usr/bin/thin -C /etc/thin/vocab.yml start -o 3000'"
«/ Bin / su - user -c» загружает среду оболочки пользователя (вам необходимо заменить это на свое имя пользователя).
Подозреваю, что последний rack
не работает с текущей версией thin
. Удалите стойку 1.1.3, чтобы увидеть, исчезнет ли ваша проблема:
gem uninstall rack -v=1.1.3