离线安装pm2自启动node项目

1,300 阅读2分钟

解决问题:

1、node项目后台程序发生未知错误,导致崩溃,无法自动重启

2、服务器重启后,程序不会自启动

 

参考文献:blog.csdn.net/weixin_4675…

1、   全局安装pm2

    命令:npm install pm2 -g

image.png 如果需要离线安装,请参照以下步骤:

测试环境:联网机为win10,离线服务器为windows server2008

先在联网机win10上安装PM2  

          命令:npm install pm2 -g  

执行命令 `npm config get prefix`可以查看默认的全局安装目录。  
在该目录下的node_modules找到刚下载的pm2文件夹,上传到服务器的npm默认全局安装目录。  
比如我的默认目录是C:\Users\Administrator\AppData\Roaming\npm,打开默认目录,然后新建文件夹node_modules,把解压的pm2包放进去。  
在新建的node_modules文件夹里打开命令行,重新编译pm2的包:

        npm build pm2 -g

运行完成之后,通过`pm2 -v`检查是否安装成功

参考文献:https://www.jianshu.com/p/b335008225ee

2、   全局安装pm2 Windows自启包pm2-windows-startup

    命令:npm install pm2-windows-startup -g
    
    如需离线安装,将下载好的pm2-windos-startup包上传至服务器,与pm2包在同一个目录下。

3、   安装配置包pm2-startup

    命令:pm2-startup install

4、   在项目根目录新建一个文本文档,内容如下:

{

  "apps":{

    "name":"自己起名", // 项目的别名

    "script":"index.js", //需要启动程序的入口文件

    "watch":"true", // 开启文件变化监听

    "ignore_watch":[ // 忽略文件变化监听文件

      "node_modules",

      "logs"

    ],

    "error_file":"C:/wamp/www/pm2Logs/error.log", //配置错误日志输出文件地址

    "out_file":" C:/wamp/www/pm2Logs/out.log", //配置打印日志输出文件地址

    "log_date_format":"YYYY-MM-DD HH:mm:ss"//配置日志日期格式

    "instances":2 //配置项目所占用的核数,小于等于服务器的总核数量(cluster模式启动项目,如果用fork模式无需添加此命令)

  }

}

注意:上述log存放目录为手动修改,需要手动在对应目录新建pm2Logs文件夹

配置完成后,保存,并将其命名为pm2.config.json的json文件。

5、   启动项目:cmd窗口进入到项目根目录下cd c:/wamp/www/bin,执行启动命令

    命令:pm2 start pm2.config.json

6、   保存此项目,开机后才会自动启动

    命令:pm2 save

7、   重启服务器,测试能否正常访问应用,可以输入pm2 list查看启动的项目

8、   pm2常用命令:

    pm2 start       # 启动一个服务,携带 --name 参数添加一个应用名,携带参数 --watch 将观察修改重启服务

    pm2 list        # 列出当前的服务

    pm2 kill        # 杀掉pm2管理的所有进程

    pm2 monit       # 监视每个node进程的CPU和内存的使用情况

    pm2 stop 0      # 停止服务

    pm2 stop all    # 停止所有服务进程

    pm2 restart 0   # 重启服务

    pm2 restart all # 重启所有进程

    pm2 delete 0    # 删除服务

    pm2 delete all  # 删除全部服务

    pm2 logs        # 查看所有服务的输出日志

    pm2 logs 0      # 查看服务的输出日志