gogs registrados como un servicio de Windows

premisa

Operativo versión: gogs_0.12.1_windows_amd64.

premisa

Para que Gogs se ejecute como un servicio de Windows, se deben cumplir las dos condiciones siguientes:

  1. Utilice minwinsvcla pestaña Construir para obtener el soporte de Windows integrado.
  2. No utilice minwinsvcla pestaña Build y por NSSM registrado como servicio.

Antes de registrarse como servicio, debe asegurarse de otorgar al binario de Gogs los permisos de lectura y escritura en el directorio correspondiente, incluido el directorio raíz ( [repository] ROOT) donde se almacena el almacén .

Modifique el C:\Gogs\custom\conf\app.iniarchivo de información correspondiente:

RUN_USER = COMPUTERNAME$

Configure el usuario en ejecución de Gogs como el usuario del sistema local a través de la configuración anterior. COMPUTERNAMEEl valor del comando se echo %COMPUTERNAME%puede obtener, si USER-PCse usa el valor de retorno del comando RUN_USER = USER-PC$:

[server]
DOMAIN = gogs
PROTOCOL = http
HTTP_ADDR = 127.0.1.1
HTTP_PORT = 80
OFFLINE_MODE = true
EXTERNAL_URL = http://gogs/

Mueve el puerto de escucha de Gogs a 80 en la subred de la interfaz local y le dice al HTTPd de Gogs que su host virtual es el dominio "gogs". Esto le permite renunciar a incluir un número de puerto al navegar y evita la colisión con otros servicios de host local. La dirección IP puede ser cualquier cosa en el rango 127.0.0.2 - 127.254.254.254, siempre que sea exclusiva de Gogs.

Para completar esa ruta de red, abra Notepad.exe como administrador e incluya lo siguiente en C:\Windows\System32\drivers\etc\hosts:

# Gogs local HTTPd
127.0.1.1        gogs

La entrada del archivo hosts garantizará que todas las solicitudes al dominio "gogs" sean capturadas por su interfaz localhost. En un navegador web, por lo general, gogs/en la barra de direcciones es suficiente para activar esa ruta.

Método 1: usar funciones integradas

Abra un símbolo del sistema (símbolo del sistema) como administrador. Ejecute el siguiente comando

sc create gogs start= auto binPath= "\"C:\gogs\gogs.exe\" web --config \"C:\gogs\custom\conf\app.ini\""

Asegúrese de que haya =un espacio después de cada uno . Puede optar por agregar otros parámetros para modificar aún más el servicio o modificarlo manualmente en la consola de administración de servicios.
Para iniciar el servicio, ejecute el siguiente comando

C:\> net start gogs

Debería ver el siguiente resultado

The gogs service is starting.
The gogs service was started successfully.

## Método 2: usar nssm

Obtener el archivo nssm.exe requiere su computadora (32 bits o 64 bits; están empaquetados en el archivo zip de Iain) y colocarlo en un directorio en la variable de entorno% PATH% (o se agregará). Abra la línea de comando como administrador y ejecute el siguiente comando para configurar Gogs como servicio

Abra la línea de comando como administrador y luego ejecute el siguiente comando para configurar Gogs como servicio:

C:\>nssm install gogs

Aparecerá "NSSM Service Installer". La configuración es la siguiente

Pestaña de aplicación:

  • Camino: C:\gogs\gogs.exe
  • Directorio de inicio: C:\gogs
  • Argumentos: web

img

Pestaña de detalles:

  • Nombre para mostrar: Gogs
  • Descripción: A painless self-hosted Git service.
  • Tipo de inicio: Automatic (Delayed Start)

Tenga en cuenta que hemos elegido el inicio diferido para que el servicio no afecte el tiempo de inicio temprano. Gogs comenzará dos minutos después de los servicios no retrasados.

img

Ficha E / S:

  • Salida (stdout): C:\gogs\log\gogs-nssm.txt
  • Error (stderr): C:\gogs\log\gogs-nssm.txt

Eso capturará toda la salida de texto que normalmente recibiría de Gogs en la consola de línea de comando y, en su lugar, lo registrará en ese archivo.

img

Pestaña de rotación de archivos:

  • Cheque: Rotate files
  • Restringir la rotación a archivos mayores a: 1000000 bytes

img

Pestaña de entorno:

  • Variables de entorno: PATH=%PATH%;C:\gogs;C:\Program Files (x86)\Git\bin

Esa es una garantía de que ambos gogs.exey git.exeestarán en la variable de ruta del servicio Gogs durante el tiempo de ejecución.

img

Haga clic en "Instalar servicio" y debe confirmar que se realizó correctamente.

Si falló, consulte la consola de línea de comandos que inició para ver el mensaje de error. Cuando tenga éxito, vaya a la línea de comandos y haga:

nssm start gogs

Debería ver:

gogs: START: The operation completed successfully.

Compruebe que esto sea cierto abriendo C:\gogs\log\gogs-nssm.txt. Debería ver los procedimientos de inicio de Gogs, que terminan con:

timestamp [I] Run Mode: Production
timestamp [I] Listen: http://127.0.1.1:80

Ahora apunte su navegador web http://gogs/e inicie sesión.

Gogs se ejecuta como un servicio y no será necesario ejecutarlo manualmente, a menos que algo salga mal. NSSM intentará reiniciar el servicio por usted, si el servidor de Gogs falla.

Cuando necesite reiniciarlo después de los app.inicambios, vaya a una línea de comando de administrador después de los cambios y haga:

nssm restart gogs

Consulte la hoja de trucos de configuración para obtener una referencia de la custom\conf\app.iniconfiguración.

Un ejemplo del manejo de registros y errores en acción:

[log]
ROOT_PATH = C:\gogs\log

Al momento de escribir esta línea, hará que se imprima lo siguiente C:\gogs\log\gogs-nssm.txt:

timestamp [T] Custom path: C:/gogs/custom
timestamp [T] Log path: C:\gogs\log
timestamp [I] Gogs x.y.z
timestamp [log.go:294 Error()] [E] Fail to set logger(file): invalid character 'g' in string escape code

Esto es lo que se esperaba en C:\custom\conf\app.ini:

ROOT_PATH = C:/gogs/log

Y esta fue la nssminteracción al resolverlo:

C:\>nssm restart gogs
gogs: STOP: The operation completed successfully.
gogs: Unexpected status SERVICE_PAUSED in response to START control.

C:\>nssm start gogs
gogs: START: An instance of the service is already running.

C:\>nssm stop gogs
gogs: STOP: The operation completed successfully.

C:\>nssm start gogs
gogs: Unexpected status SERVICE_PAUSED in response to START control.

C:\>nssm restart gogs
gogs: STOP: The operation completed successfully.
gogs: START: The operation completed successfully.

Supongo que te gusta

Origin blog.csdn.net/e891377/article/details/109284761
Recomendado
Clasificación