首页 > 系统相关 >windows下pm2安装使用

windows下pm2安装使用

时间:2024-03-18 16:57:19浏览次数:24  
标签:pm2 start windows app -- 日志 安装 重启

1. PM2简介

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

PM2的运行需要node 环境和npm的支持,node 环境和npm安装检查:

 

PM2常用命令:

--watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。

-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。

--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。例如,–ignore-watch=”test node_modules “some scripts”“

-n --name:应用的名称,查看应用信息的时候可以用到。

-o --output :标准输出日志文件的路径。

-e --error :错误输出日志文件的路径。

--interpreter :the interpreter pm2 should use for executing app (bash,python…)。比如你用的coffee script来编写应用。

参考官网文档

2. 安装

1) 全局安装

管理员cmd窗口运行: npm install pm2 -g

 

2) 安装windows自启动包

npm install pm2-windows-startup -g

 

3) 执行命令

pm2-startup install 

 

4) 查看是否安装成功

pm2 -v

 

3. PM2使用
1) 官方样例使用指南

pm2 examples

2) 启动

语法: pm2 start 路径 --name 名称 --watch

pm2 start app.js //启动app.js应用

pm2 start app.js --name demo //启动应用并设置name

pm2 start app.sh //脚本启动

举例(注意命令行空格):

pm2 start D:/XLDNPSService/XLConsulInfoExportTool/XLConsulInfoExportTool.exe --name XLConsulInfoExportTool --watch

 

3) 查看列表

pm2 ls

4) 停止

pm2 stop all //停止所有应用

pm2 stop [名称] //根据应用名停止指定应用

pm2 stop [ID] //根据应用id停止指定应用

举例: pm2 stop XLConsulInfoExportTool

5) 重启

pm2 restart 名称 //同时杀死并重启所有进程。短时间内服务不可用。生成环境推荐使用reload

举例: pm2 restart XLConsulInfoExportTool

6) 删除进程

pm2 delete all //关闭并删除应用

pm2 delete [AppName] //根据应用名关闭并删除应用

pm2 delete [ID] //根据应用ID关闭并删除应用

举例: pm2 delete XLConsulInfoExportTool

7) 自动重启

pm2 start 路径 --name 名称 --watch

pm2 start app.js –watch

8) 日志查看

除了可以打开日志文件查看日志外,还可以通过pm2 logs来查看实时日志

pm2 logs

9) 更新

pm2 update

10) 保存

pm2 save

11) 创建开机启动

pm2 startup

补充命令:

$ npm install pm2 -g     # 命令行安装 pm2 
$ pm2 start app.js -i 4  # 后台运行pm2,启动4个app.js 
                         # 也可以把'max' 参数传递给 start
                         # 正确的进程数目依赖于Cpu的核心数目
$ pm2 start app.js --name my-api # 命名进程
$ pm2 list               # 显示所有进程状态
$ pm2 monit              # 监视所有进程
$ pm2 logs               # 显示所有进程日志
$ pm2 stop all           # 停止所有进程
$ pm2 restart all        # 重启所有进程
$ pm2 reload all         # 0 秒停机重载进程 (用于 NETWORKED 进程)
$ pm2 stop 0             # 停止指定的进程
$ pm2 restart 0          # 重启指定的进程
$ pm2 startup            # 产生 init 脚本 保持进程活着
$ pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 delete 0           # 杀死指定的进程
$ pm2 delete all         # 杀死全部进程

 参考链接

4. PM2配置文件方式启动

1) 生成示例配置文件

pm2 ecosystem        //生成一个示例JSON配置文件

pm2 init 

 2) 配置文件示例(实际使用自行修改)

{
    "apps": {
        "name": "wuwu",                             // 项目名          
        "script": "./bin/www",                      // 执行文件
        "cwd": "./",                                // 根目录
        "args": "",                                 // 传递给脚本的参数
        "interpreter": "",                          // 指定的脚本解释器
        "interpreter_args": "",                     // 传递给解释器的参数
        "watch": true,                              // 是否监听文件变动然后重启
        "ignore_watch": [                           // 不用监听的文件
            "node_modules",
            "logs"
        ],
        "exec_mode": "cluster_mode",                // 应用启动模式,支持fork和cluster模式
        "instances": 4,                             // 应用启动实例个数,仅在cluster模式有效 默认为fork;或者 max
        "max_memory_restart": 8,                    // 最大内存限制数,超出自动重启
        "error_file": "./logs/app-err.log",         // 错误日志文件
        "out_file": "./logs/app-out.log",           // 正常日志文件
        "merge_logs": true,                         // 设置追加日志而不是新建日志
        "log_date_format": "YYYY-MM-DD HH:mm:ss",   // 指定日志文件的时间格式
        "min_uptime": "60s",                        // 应用运行少于时间被认为是异常启动
        "max_restarts": 30,                         // 最大异常重启次数,即小于min_uptime运行时间重启次数;
        "autorestart": true,                        // 默认为true, 发生异常的情况下自动重启
        "cron_restart": "",                         // crontab时间格式重启应用,目前只支持cluster模式;
        "restart_delay": "60s"                      // 异常重启情况下,延时重启时间
        "env": {
           "NODE_ENV": "production",                // 环境参数,当前指定为生产环境 process.env.NODE_ENV
           "REMOTE_ADDR": "爱上大声地"               // process.env.REMOTE_ADDR
        },
        "env_dev": {
            "NODE_ENV": "development",              // 环境参数,当前指定为开发环境 pm2 start app.js --env_dev
            "REMOTE_ADDR": ""
        },
        "env_test": {                               // 环境参数,当前指定为测试环境 pm2 start app.js --env_test
            "NODE_ENV": "test",
            "REMOTE_ADDR": ""
        }
    }
}

 

标签:pm2,start,windows,app,--,日志,安装,重启
From: https://www.cnblogs.com/123525-m/p/18080867

相关文章

  • 在可燃性粉尘危险场所安装电气防火限流式保护器的必要性
    袁媛ACRELYY安科瑞电气股份有限公司1.概述所谓的可燃性粉尘环境,是指在大气环境的条件下,粉尘或纤维状的可燃性物质与空气的混合物点燃后,燃烧将传至全部未燃烧混合物的环境。随着现代工业技术的发展,可燃性粉尘的危险场所在不断增多,其危害变得不可避免,相应的粉尘爆炸事故也时......
  • Step-by-Step之-openGauss1-0-1单机安装指南v1-2
    StepbyStep之:openGauss1.0.1单机安装指南v1.2在CentOS7.6上安装openGauss单机版配置操作系统满足安装要求硬件环境:虚拟机的内存8GB,4核心CPU,900G磁盘(非必须)软件环境:CentOS7.6关闭防火墙#停止firewallsystemctlstopfirewalld.service#禁止firewall开机启......
  • step-by-step系列之-openGauss1-0-1-Docker版本单机安装指南
    stepbystep系列之:openGauss1.0.1Docker版本单机安装指南1.软硬件环境硬件环境:项目最低配置推荐配置测试配置硬盘用于安装openGauss的硬盘需最少满足如下要求:至少1GB用于安装openGauss的应用程序包。每个主机需大约300MB用于元数据存储。预留70%以上的磁盘剩......
  • python安装模块的方式
    使用pip(在线)方式安装piplist//用于显示当前安装的所有模块和版本,pip本身也是一个模块1)若pip不存在则python-mensurepip//确保pip可用2)更新pippipinstall--upgradepip//更新pip3)安装包,以numpy为例python-mpipuninstallnumpy//卸载numpypython-mpipi......
  • 【黑马MySQL】MySQL的下载&安装&启停&配置环境变量【一条龙教程】
    前言大家好吖,欢迎来到YY滴MySQL系列,热烈欢迎!本章主要内容面向接触过C++Linux的老铁主要内容含:欢迎订阅YY滴C++专栏!更多干货持续更新!以下是传送门!YY的《C++》专栏YY的《C++11》专栏YY的《Linux》专栏YY的《数据结构》专栏YY的《C语言基础》专栏YY的《初学者易......
  • Tomcat安装与配置详细教程:从入门到精通
    Tomcat安装与配置详细教程:从入门到精通简介:本教程旨在为广大开发者提供一份Tomcat服务器的安装与配置指南。通过本教程的学习,您将能够掌握Tomcat服务器的安装步骤、环境变量的配置方法,以及验证Tomcat配置是否成功的技巧。同时,我们还将简要介绍JavaJDK的安装与配置,为Tomca......
  • docker安装gitlab
    查看是否已安装docker列表yumlistinstalled|grepdocker安装dockeryum-yinstalldocker启动dockersystemctlstartdocker查看docker服务状态(标绿展示:activerunning)systemctlstatusdocker再在docker上安装gitlab安装gitlab镜像,并准备挂载目录docker安装gitlab不......
  • win10安装docker所有踩坑记录
    背景    docker在win上面安装很不友好,很多报错,总结下所有遇到的问题。在网上找到一篇文章,解决了大部分问题,但是自己还遇到了几个问题。问题一:微星B550打开vt功能进入bios搜索svd,点击开启问题二:Errorwithpre-createcheck:"ThiscomputerisrunningHyper-V.Vi......
  • CentOS安装JDK17教程(完整版)
    JDK17是JavaDevelopmentKit(Java开发工具包)的第17个长期支持(LTS)版本,由Oracle公司于2021年9月发布。作为Java语言的主要发行版,JDK17带来了许多新特性、增强功能和优化。但是我们在Linux环境下使用yum安装时,发现不能直接安装JDK17,使用:yumsearchjava|grep......
  • Exchange 2016卸载重新安装或更换电脑安装首次登录报错
    1、报错代码如下X-OWA-ErrorMicrosoft.Exchange.Data.Storage.ObjectNotFoundException2、解决方法2.1登录安装Exchange服务器,打开ExchangeManagementShell输入以下命令Get-Mailbox 2.2显示数据库异常,输入以下命令查看数据库和重新连接数据库Get-MailboxD......