Uso de arquivos de configuração do PM2

1. Introdução

PM2 caminho para as configurações do arquivo de configuração de suporte de serviços de aplicação, formato de arquivo é suportado configurações Javascript, JSON, YAML. Os seguintes focos Javascript, JSONestes dois formatos;

Segundo, o arquivo de configuração

1. JavascriptFormato

Digite o seguinte comando para produzir um modelo de arquivo de configuração:

pm2 init

pm2 ecosystem

A geração é a ecosystem.config.jsseguinte:

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'
    }
  }
};

Você pode modificar o conteúdo da configuração conforme necessário e iniciar o comando:

pm2 start ecosystem.config.js

Observe que o uso de um arquivo de configuração Javascript requer que o nome do arquivo termine com .config.js

2. jsonFormato

Por exemplo, chamado 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 Iniciar:

pm2 start config.json

Você também pode escrever o pedido package.jsonaqui. Como segue:

Ao npm run pm2início

Você pode definir quantas JSONdeclarações de aplicativo forem necessárias .

{
  "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. Descrição dos itens de configuração comuns:

apps: Estrutura Json, apps é uma matriz, cada membro da matriz corresponde a um aplicativo em execução no pm2;

name: Nome do aplicativo;

cwd: O diretório em que o aplicativo está localizado;

script: O caminho do script do aplicativo;

log_date_format: Especifique o formato da data do log, como AAAA-MM-DD HH: mm: ss;

error_file: Personalize o arquivo de log de erros do aplicativo.Erros de código podem ser encontrados neste arquivo;

out_file: Arquivos de log de aplicativos personalizados, como impressão de uma grande quantidade de saída padrão, farão com que o log pm2 seja muito grande;

pid_file: Arquivo pid de aplicativo personalizado;

interpreter: O interpretador de script especificado;

interpreter_args: Parâmetros passados ​​para o intérprete;

instances: O número de instâncias de inicialização do aplicativo, válidas apenas no modo de cluster, o padrão é fork;

min_uptime: O tempo mínimo de execução, aqui é definido como 60s, ou seja, se o aplicativo sair dentro de 60s, o pm2 pensará que o programa é encerrado de forma anormal; nesse momento, o número de reinicializações max_restarts é acionado;

max_restarts: Defina o número de vezes que o aplicativo sai de forma anormal e reinicia, o padrão é 15 vezes (contando de 0);

autorestart : O padrão é true e reinicie automaticamente quando ocorrer uma exceção;

cron_restart: Comece regularmente para resolver os problemas que a reinicialização pode resolver;

max_memory_restart: Número máximo de limites de memória, excedendo o reinício automático;

watch: Para ativar o modo de monitoramento, o padrão é falso. Se definido como true, o pm2 será recarregado automaticamente quando o aplicativo for alterado. Aqui você também pode definir o arquivo que deseja monitorar.

ignore_watch: Ignore a pasta monitorada e suporte expressões regulares;

merge_logs: Defina anexar log em vez de novo log;

exec_interpreter: O tipo de script do aplicativo, o padrão é nodejs;

exec_mode: Modo de inicialização do aplicativo, suporte ao modo garfo e cluster, o padrão é garfo;

autorestart: Ativar / desativar a reinicialização automática quando o aplicativo falhar ou sair;

vizion: Ativar / desativar o recurso de visualização (controle de versão);

env: Variável de ambiente, tipo de objeto;

force: Padrão false, se true, você pode iniciar um script repetidamente. O pm2 não recomenda isso;

restart_delay: Atraso no tempo de reinicialização em caso de reinício anormal;

Acho que você gosta

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