3 votos

10.7 Launchd + rvm

Esta pregunta encaja en algún lugar entre el fallo del servidor, stackoverflow y askdifferent.

Estoy instalando algunas aplicaciones web en mi servidor Lion usando webappctl, que se engancha a las configuraciones vhost de apaches para configurar un proxy inverso (simplemente mod_proxy). Utiliza launchd para iniciar el servidor, en mi caso unicornio sirviendo una aplicación Ruby on Rails, escuchando en el puerto TCP 5000. Utilizo RVM (mixed-mode) para facilitar en versiones de ruby y gemsets separados para cada webapp.

El problema radica en RVM y launchd, y en que el entorno completo no está disponible para launchd.

Intenté iniciar desde launchd usando /bin/bash -l -c 'unicorn_rails -l 5000' pero eso me dio errores de uso de bash en los registros.

¿Alguna sugerencia para hacer que RVM funcione bien con launchd?

1voto

Dirty Henry Puntos 211

Encontré una manera de hacer un RVM -basado en rake funcionan con el comando launchd :

/bin/bash -l -c '/absolute/path/to/myscript.sh'

Mi script llamaba a rake . No lo estaba llamando directamente.

¿Has probado a utilizar una ruta absoluta para tu unicorn_rails ?

El .plist parece:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict>
        <key>Label</key>
        <string>mylabel</string>
        <key>ProgramArguments</key>
        <array>
                <string>/bin/bash</string>
                <string>-l</string>
                <string>-c</string>
                <string>/absolute/path/to/myscript.sh</string>
        </array>
        <key>StartCalendarInterval</key>
        <dict>
                <key>Hour</key>
                <integer>10</integer>
                <key>Minute</key>
                <integer>00</integer>
        </dict>
    </dict> 
</plist>

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X