Después de intentar durante horas (y también probar God and Bluepill) decidí hacer mi pregunta aquí porque no tengo ni idea de cómo resolver este problema.Monit + RVM + Thin en OSX/Linux
Tengo una aplicación Rails. Quiero usar Thin como mi servidor de aplicaciones. Quiero usar Monit para monitorear mis instancias Thin. Uso RVM para administrar mis versiones de Ruby como mi usuario local.
Tengo el siguiente archivo de Monit configurar assumably que hacer lo que yo quiero que haga, pero no:
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
Si simplemente copiar/pegar el start program
en la línea de comandos (fuera de Monit) funciona. Lo mismo ocurre con el stop program
para luego detener la instancia Thin. Sin embargo, ejecutarlo a través de Monit no parece funcionar.
Correr en -v
modo detallado se obtiene la siguiente:
monit: pidfile '/Users/Michael/Desktop/myapp/tmp/pids/thin.81.pid' does not exist
Lo que me lleva a creer que nunca se inicializa delgada. ¿Funciona Monit como root
o algo así? Porque si lo hace, obviamente no tendrá las gemas correctas instaladas, ya que estoy usando RVM y no el "sistema" Ruby. Actualmente estoy en OSX (pero eventualmente implementaré Linux). ¿Alguien sabe cuál es la causa de esto? Y si Monit se ejecuta a través de root, ¿cómo podría hacer que use RVM independientemente? ¿O podría decirle a Monit que ejecute los programas de inicio/detención como Michael:staff
(supongo que sería en OSX?)
¡Cualquier ayuda es muy apreciada!
Gracias, eso es algo de lo que no tenía conocimiento. :) –