2010-05-06 18 views
6

Utilizo Redmine en Mongrel como gerente de proyecto y utilizo un archivo por lotes (start-redmine.bat) para iniciar el redmine en mongrel. Hay dos problemas con mi configuración: 1. Tengo un IIS en ejecución en el servidor que ocupa el puerto HTTP (80) 2. El start-redmine.bat se debe verificar periódicamente para ver si se detiene después de un reinicio que es causado por el servicio de actualización de Windows.Howto - Ejecutando Redmine en mongrel como un servicio en windows

para el primer número, no tengo más remedio que ejecutar mongrel en un puerto como 3000 y para el segundo problema tengo que crear un servicio de Windows que se ejecuta automáticamente en segundo plano cuando se inicia Windows; y aquí viene el problema!

Existen al menos 3 formas de ejecutar redmine como un servicio que conozco; ninguno de ellos puede satisfacer una vista de rendimiento en este tema. Puede leer sobre ellos en how to configure a rails app (redmine) to run as a service on windows?

Probé todos. La forma más fácil de configurar un servicio de este tipo es usar el enfoque mongrel_service; en 3 líneas de comando ya terminaste. pero el rendimiento es significativamente menor que la ejecución de ese archivo por lotes ...


Ahora, que desea mostrar mi enfoque:

Primero supongamos que hemos instalado en rubí c: \ rubí y han dado la orden joya instalar mestizo para conseguir la gema mestizo instalado en c: \ ruby ​​\ bin Además, supongamos que tenemos instalado el Redmine en una carpeta como c: \ Redmine; y tenemos la ruta de Ruby (es decir, c: \ ruby ​​\ bin) en nuestra variable de entorno PATH.

Ahora descargue e instale las herramientas del Kit de recursos de Windows NT desde el sitio web de microsoft. Abra la herramienta de línea de comandos que viene con el Kit de recursos (desde el menú de inicio). Uso INSTSRV para instalar un servicio ficticio llamado Redmine con el siguiente comando:

"[path-to-instsrv.exe] \ INSTSRV" Redmine "[path-to-srvany.exe] \ srvany.exe"

en mi caso (que es el caso por defecto) que era algo como esto:

"C: \ archivos de programa \ Windows Resource Kits \ Tools \ INSTSRV" Redmine "C: \ archivos de programa \ Windows Resource Kits \ Tools \ srvany.exe "

Ahora crea el archivo por lotes. Abrir un bloc de notas y pegar estas instrucciones en él y luego guardarlo como "c: \ Redmine \ puesta en redmine.bat"

@echo off
cd c: \ Redmine \
mongrel_rails comienzan - a 0.0.0.0 -p 3000 -e producción

Ahora tenemos que configurar ese servicio ficticio que habíamos creado antes.CUIDADO CON LO QUE ESTÁ HACIENDO DESDE AQUÍ, O PUEDE CORRUPTAR SU WINDOWS. Para configurar este servicio, las ventanas abiertas editor del registro (Inicio -> Ejecutar -> regedit) y vaya a este nodo:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Redmine

Haga clic en " Redmine "nodo y utilizando el menú contextual, crear una nueva clave llamada Parámetros (Nuevo -> Clave) Haga clic derecho en" Parámetros "y cree una propiedad Valor de cadena llamada Aplicación. Repita esto y cree otro valor de cadena llamado AppParameters. Ahora haga doble clic en "Aplicación" y ponga cmd.exe en la sección "Datos del valor". Luego haga doble clic en "AppParameters" y ponga /C "C: \ redmine \ start-redmine.bat" en la sección de datos de valor.

¡Terminamos! ejecute este comando para ejecutar el Redmine el mestizo como un servicio:

Redmine net start

Editar: Si vas a utilizar los servicios de correo de Redmine y usted tiene un antivirus como McAfee, asegúrese de decirle al antivirus que permita que ruby ​​envíe correos electrónicos o no conseguirá que el servicio de correo funcione.

+0

¿Hay una pregunta aquí? Por cierto, ¿qué versión de rubí estás usando? Deberías usar las versiones de rubyinstaller.org. Es extraño que el servicio mongrel_service sea más lento, lo despliego todo el tiempo. También despliego usando thin, pero mongrel_service funciona mejor como servicio. – nathanvda

+0

No hay duda. Es un HowTo, compartiendo lo que aprendí después de 3-4 horas de búsqueda y pensamiento. Soy desarrollador de .Net y no estoy familiarizado con Ruby, lo instaló últimamente uno de mis amigos y creo que tiene la última versión disponible; pero mi enfoque para un servicio mongrel es significativamente más rápido que un enfoque mongrel_service. ¡Después de todo, creo que me va a encantar este rubí! Es agradable y suave ... – Achilles

Respuesta

Cuestiones relacionadas