Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Dónde está el archivo de configuración de Python Gunicorn?

¿Dónde está el archivo de configuración de Python Gunicorn?

Cuando gunicorn se utiliza como servidor de trabajo, se inicia a través del archivo de configuración. Los parámetros de inicio de gunicorn se pueden obtener en -help, pero no en el archivo de configuración. A continuación se muestran configuraciones y descripciones de algunas opciones comunes.

Importar registro

Importar logging.handlers

Importar WatchedFileHandler desde logging.handlers

Importar sistema operativo

Bind = '0.0.0.0:9010' #La IP vinculada tiene un número de puerto.

Backlog = 512 #Cola de escucha

chdir = '/home/test/server/bin ' # El directorio de trabajo de destino al que cambiará guni corn.

Timeout = 30 #Timeout

Worker_class = 'gevent' #Puedes usar el modo gevent o el modo de sincronización. El valor predeterminado es el modo síncrono.

Trabajadores = 16 #Número de procesos

Subprocesos = 2 #Especifica el número de subprocesos abiertos en cada proceso.

Loglevel = 'info' # El nivel de registro se refiere al nivel del registro de errores, pero el nivel del registro de acceso no se puede establecer.

acceso _ log _ format = ' %(t)s %(p)s %(h)s " %(r)s " %(s)s %(l)s %(b) s %(f)s " %(a)s " ' #Establecer el formato de registro de acceso de gunicorn.

El significado de cada opción es el siguiente

"""

hDirección remota

l '-'

u es actualmente '-', puede ser el nombre de usuario en una versión futura

Fecha de solicitud

r línea de estado (por ejemplo, "GET/HTTP/1.1")

Estado

b duración de la respuesta o '-'

f referente

agente de usuario

t tiempo de solicitud (segundos)

dTiempo de solicitud en microsegundos

lTiempo de solicitud en segundos decimales

pID del proceso

{ Header }Solicito encabezado

{Header}oEncabezado de respuesta

"""

Accesslog = "/dev/null" #La ruta al archivo de registro de acceso.

Errorlog = "/dev/null" #La ruta del archivo de registro de errores.

Los registros del servidor de la empresa se dividen por días. TimeRotatingFileHandler todavía tiene problemas al dividir los registros entre múltiples procesos, así que utilícelo.

Registros WatchedFileHandler, en la máquina del servidor, agrega una tarea automática matutina para que el registro se pueda cortar, pero gunicorn

De forma predeterminada, el registro usa FileHandler, pero una vez respaldado Si el La tarea automática está deshabilitada, no se recreará automáticamente, por lo que redirijo la secuencia FileHandler original a /dev/null y agrego los controladores que quiero de esta manera:

"""

acclog = logging . get logger(' guni corn . access ')

acclog . addhandler(WatchedFileHandler('/home/test/server/log/guni corn _ access . log ' ))

acclog.propagate = False

errlog = logging . get logger(' guni corn . error ')

errlog (WatchedFileHandler('/ home/test/server . /log/guni corn _ error . log '))

errlog.propagate = False

"""

Gunicorn se usa con nginx, nginx solo necesita para configurar un proxy inverso.

proxy _ pass http://127 .