Uso de archivos de configuración PM2

1. Introducción

PM2 forma de configuración del archivo de configuración de servicios de aplicaciones de apoyo, el formato de archivo es compatible configuraciones Javascript, JSON, YAML. Los siguientes enfoques Javascript, JSONestos dos formatos;

Segundo, el archivo de configuración

1. JavascriptFormato

Ingrese el siguiente comando para generar una plantilla de archivo de configuración:

pm2 init

pm2 ecosystem

La generación es la ecosystem.config.jssiguiente:

module.exports = {
  apps : [{
    name: 'API',
    script: 'app.js',
    args: 'one two',
    instances: 1,
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: 'development'
    },
    env_production: {
      NODE_ENV: 'production'
    }
  }],

  deploy : {
    production : {
      user : 'node',
      host : '212.83.163.1',
      ref  : 'origin/master',
      repo : '[email protected]:repo.git',
      path : '/var/www/production',
      'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production'
    }
  }
};

Puede modificar el contenido de la configuración según sea necesario e iniciar el comando:

pm2 start ecosystem.config.js

Tenga en cuenta que el uso de un archivo de configuración de Javascript requiere que el nombre del archivo termine con .config.js

2. jsonFormato

Por ejemplo llamado config.json:

{
      "apps": [{
        "name": "test",  //名称
        "script": "server.js", //程序入口
        "cwd": "./",           //根目录
        "instances": 1,
        "error_file":"./logs/error.log",//错误输出日志
        "out_file":"./logs/out.log",  //日志
        "log_date_format":"YYYY-MM-DD HH:mm Z" //日期格式
        }]
    }

Comando de inicio:

pm2 start config.json

También puedes escribir el pedido package.jsonaquí. Como sigue:

por npm run pm2inicio

Puede establecer tantas JSONdeclaraciones de aplicaciones como sea necesario .

{
  "apps": [
      {
      "name": "testOne",
      "script": " testOne/server.js",
      "instances": 1,
      "log_date_format": "YYYY-MM-DD HH:mm Z",
      "max_memory_restart": "500M"
    },
    {
      "name": "testTwo",
      "script": " testTwo/server.js",
      "instances": 1,
      "log_date_format": "YYYY-MM-DD HH:mm Z",
      "max_memory_restart": "500M"
    }
  ]
}
3. Descripción de elementos de configuración comunes:

apps: Estructura Json, las aplicaciones son una matriz, cada miembro de la matriz corresponde a una aplicación que se ejecuta en pm2;

name: Nombre de la aplicación;

cwd: El directorio donde se encuentra la aplicación;

script: La ruta del script de la aplicación;

log_date_format: Especifique el formato de fecha de registro, como AAAA-MM-DD HH: mm: ss;

error_file: Personalice el archivo de registro de errores de la aplicación. Los errores de código se pueden encontrar en este archivo;

out_file: Los archivos de registro de aplicaciones personalizadas, como imprimir una gran cantidad de salida estándar, harán que el registro de pm2 sea demasiado grande;

pid_file: Archivo pid de aplicación personalizada;

interpreter: El intérprete de script especificado;

interpreter_args: Parámetros pasados ​​al intérprete;

instances: El número de instancias de inicio de la aplicación, solo válido en modo de clúster, el valor predeterminado es fork;

min_uptime: El tiempo mínimo de ejecución, aquí se establece en 60 segundos, es decir, si la aplicación sale dentro de los 60 segundos, pm2 pensará que el programa sale anormalmente, en este momento, se activa el número de reinicios max_restarts;

max_restarts: Establece el número de veces que la aplicación sale anormalmente y se reinicia, el valor predeterminado es 15 veces (contando desde 0);

autorestart : El valor predeterminado es verdadero y se reinicia automáticamente cuando se produce una excepción;

cron_restart: Comience regularmente para resolver los problemas que puede resolver el reinicio;

max_memory_restart: Número máximo de límites de memoria, superior al reinicio automático;

watch: Ya sea para habilitar el modo de monitoreo, el valor predeterminado es falso. Si se establece en verdadero, pm2 se volverá a cargar automáticamente cuando cambie la aplicación. Aquí también puede configurar el archivo que desea monitorear.

ignore_watch: Ignora la carpeta monitoreada y admite expresiones regulares;

merge_logs: Establezca agregar registro en lugar de nuevo registro;

exec_interpreter: El tipo de script de la aplicación, el valor predeterminado es nodejs;

exec_mode: Modo de inicio de la aplicación, modo fork y cluster, el valor predeterminado es fork;

autorestart: Activa / desactiva el reinicio automático cuando la aplicación se bloquea o sale;

vizion: Activar / desactivar la función de visualización (control de versiones);

env: Variable de entorno, tipo de objeto;

force: Falso predeterminado, si es verdadero, puede iniciar un script repetidamente. pm2 no recomienda esto;

restart_delay: Tiempo de reinicio retrasado en caso de reinicio anormal;

Supongo que te gusta

Origin www.cnblogs.com/huiguo/p/12694542.html
Recomendado
Clasificación