首页 > 其他分享 >pm2配置文件

pm2配置文件

时间:2023-04-22 22:56:09浏览次数:40  
标签:配置文件 pm2 应用程序 js boolean 默认 string

原文详见:https://www.jiyik.com/w/pm2/pm2-configuration-file

 

一、生成配置

//在当前路径生成示例配置文件

pm2 init simple

这将生成一个默认的配置文件 ecosystem.config.js

module.exports = {
  apps : [{
  name : "app1",
  script : "./app.js"
  }]
}

 

二、使用配置文件

与操作应用程序相比,我们可以无缝启动/停止/重启/删除配置文件中包含的所有应用程序:

启动所有的应用程序

pm2 start ecosystem.config.js

停止所有应用程序

pm2 stop ecosystem.config.js

重启所有应用程序

 pm2 restart ecosystem.config.js

重载所有应用程序

pm2 reload ecosystem.config.js

删除所有应用程序

pm2 delete ecosystem.config.js

 

三、配置文件可用属性 

通用属性

字段类型示例描述
name (string) “my-api” 应用程序名称 (默认为脚本名称)
script (string) ”./api/app.js” 相对于 pm2 start 的脚本路径
cwd (string) “/var/www/” 将启动您的应用程序的目录
args (string) “-a 13 -b 12” 包含通过 CLI 传递给脚本的所有参数的字符串
interpreter (string) “/usr/bin/python” 解释器绝对路径(默认为 node )
interpreter_args (string) ”–harmony” 传递给解释器的选项
node_args (string)   interpreter_args的别名

高级特性

字段类型示例描述
instances number -1 要启动的应用程序实例数
exec_mode string “cluster” 启动应用程序的模式,可以是“cluster”或“fork”,默认fork
watch boolean or [] true 启用监视和重启功能,如果文件夹或子文件夹中的文件发生更改,您的应用程序将重新加载
ignore_watch list [”[/\]./”, “node_modules”] 通过监视功能忽略某些文件或文件夹名称的正则表达式列表
max_memory_restart string “150M” 如果超过指定的内存量,您的应用程序将重新启动。 人性化的格式:可以是“10M”、“100K”、“2G”等等……
env object {“NODE_ENV”: “development”, “ID”: “42”} env variables which will appear in your app
env_ object {“NODE_ENV”: “production”, “ID”: “89”} 在执行 pm2 restart app.yml --env 时注入
source_map_support boolean true 默认为 true,[启用/禁用源映射文件]
instance_var string “NODE_APP_INSTANCE” 查看文档
filter_env array of string [ “REACT_” ] 排除以“REACT_”开头的全局变量,并且不允许它们渗透到集群中。

日志文件

字段类型示例描述
error_file (string)   指定错误日志文件 (默认 $HOME/.pm2/logs/XXXerr.log)
out_file (string)   指定标准输出日志文件 (默认 $HOME/.pm2/logs/XXXout.log)
pid_file (string)   指定pid进程文件 (默认 $HOME/.pm2/pid/app-pm_id.pid)
merge_logs boolean true 如果设置为 true,则避免使用进程 id 后缀日志文件
log_date_format (string) “YYYY-MM-DD HH:mm Z” 日志时间日期格式

控制流

字段类型示例描述
min_uptime (string)   被视为启动的应用程序的最小正常运行时间
listen_timeout number 8000 如果应用程序未在侦听,则强制重新加载之前的时间(以毫秒为单位)
kill_timeout number 1600 发送最终 SIGKILL 之前的时间(以毫秒为单位)
shutdown_with_message boolean false 使用 process.send(‘shutdown’) 而不是 process.kill(pid, SIGINT) 关闭应用程序
wait_ready boolean false 等待 process.send(‘ready’) 而不是重新加载等待监听事件
max_restarts number 10 在您的应用程序被视为错误并停止重新启动之前,连续不稳定重新启动的次数(小于 1 秒间隔或通过 min_uptime 自定义时间)
restart_delay number 4000 在重新启动崩溃的应用程序之前等待的时间(以毫秒为单位)。 默认为 0。
autorestart boolean false 默认为 true 。 如果为 false,如果应用程序崩溃或和平结束,PM2 将不会重新启动您的应用程序
cron_restart string “1 0 * * *” 使用 cron 模式定时任务来重新启动你的应用程序。 应用程序必须正在运行才能使 cron 功能正常工作
vizion boolean false 默认为真。 如果为 false,PM2 将在没有 vizion 功能的情况下启动(版本控制元数据)
post_update list [“npm install”, “echo launching the app”] 从 Keymetrics 控制面板执行 Pull/Upgrade 操作后将执行的命令列表
force boolean true 默认为 false。 如果为 true,可以多次启动同一个脚本,这通常是 PM2 不允许的

 

 四、我的项目示例
module.exports = {
  apps : [{
        name   : "MyTest-50000",
        script : "dotnet TestUbuntu.dll --urls http://localhost:50000",
        cwd : "/root/wwwroot/test"
  },
  {
        name : "BidDataYanShi-50001",
        script : "dotnet TourismData.Web.dll  --urls http://localhost:50001",
        cwd : "/root/wwwroot/BigDataYanShi"
  },
  {
        name : "danba-50002",
        script : "dotnet GanZiJianShi.Web.Manage.dll",
        cwd : "/root/wwwroot/danba",
        max_memory_restart : "800M"
  }
  ]
}

 

 

标签:配置文件,pm2,应用程序,js,boolean,默认,string
From: https://www.cnblogs.com/fireicesion/p/17344363.html

相关文章

  • nginx配置文件
    关于Nginx的核心配置文件nginx.confusernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pid/var/run/nginx.pid;events{worker_connections1024;}http{include/etc/nginx/mime.types;default_typeapplication/oct......
  • toml格式配置文件介绍
    toml官方wiktoml官方文档此次文档是以v1.0.0为例,进行说明的。如果使用到的版本不同,直接去官方文档中找对应的版本即可。谈到配置文件,大家都能说出来好几种,比如常见的ini、xml、json、yaml、properties、toml等等,因为项目中用到了toml格式的配置文件,但是之前并没有使用过,所以......
  • nginx配置文件生成完成批量配置
    1.创建模板worker_processes1;events{worker_connections1024;}stream{ server{listenlisten-port;proxy_passip:port; proxy_connect_timeout2s;}#foreach($portin[9000..9009])server{listen$port;p......
  • Ant配置文件
    Ant配置文件详解:<!--Ant(another neat tool---另一个整洁的工具)--><?xml versinotallow="1.0"?><project default="dist" name="Project A"> <description>        一段描述信息,没有实际作用。    </description>    <!--property 元素相......
  • 【Mybatis】Idea中设置核心配置文件、映射文件的模板,获取SQLSession工具类
    1.核心配置文件模板<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>......
  • sshd配置文件详解
    转自:http://blog.licess.com/sshd_config/#1.关于SSHServer的整体设定,包含使用的port啦,以及使用的密码演算方式Port22#SSH预设使用22这个port,您也可以使用多的port!#亦即重复使用port这个设定项目即可!Protocol......
  • pm2在服务器中的使用
    服务器上安装node.js并配置相关环境安装PM2如果没有权限,则用sudo安装;安装指令:sudunpminstallpm2-g(需要全局安装查看程序进程:pm2ls原本nodeserver.js指令替换为pm2startserver.js(记得关闭node进程进程由pm2启动后,可以执行以下指令:查看进程:pm2ls监控查......
  • .Net 6.0 部署Linux+Nginx +PM2教程
    今天带大家将本地.Net6.0项目部署到Linux系统中,其中有用到Nginx反向代理和PM2进程管理工具,希望本偏文章能对你有所帮助,成为你成功路上的垫脚石!背景:在.Net5.0横空出世之后,.Net已经支持夸平台了,身为一名合格的码农,你敢说你不会用Linux?哈哈哈开个玩笑,因为工作最近......
  • MongoDB 4.2:配置文件选项全解析《二》
    1.net.unixDomainSocket选项net:unixDomainSocket:enabled:<boolean>pathPrefix:<string>filePermissions:<int>net.unixDomainSocket.enabledType:boolean默认值:True启用或禁用UNIX域套接字上的侦听。net.unixDomainSocket.enabled仅适用于基于Uni......
  • Java SpringBoot 加载 yml 配置文件中字典项
    将字典数据,配置在yml文件中,通过加载yml将数据加载到Map中SpringBoot中yml配置、引用其它yml中的配置。#在配置文件目录(如:resources)下新建application-xxx必须以application开头的yml文件,多个文件用","号分隔,不能换行项目结构文件application.ymlserver:po......