PM2(Process Manager 2)

Node进程管理工具,简化Node App管理的繁琐任务,如性能监控、自动重启、负载均衡等。

常用命令

# 启动app
pm2 start yarn --name AppName -- start

# 查看所有app
pm2 list
# or
pm2 ls

# 启动,all表示全部app,CMD表示命令(如:yarn),-i max 表示cluster模式,数量为最大cpu核数,--watch表示当文件变化时自动重启应用,args表示参数
pm2 start [id | AppName | all | CMD] --name [AppName] -i max --watch -- [args]

# 停止,all表示全部app
pm2 stop [id | AppName | all]

# 重启,相当于先 stop 再 start,会导致服务短时间内无法使用,all表示全部app
pm2 restart [id | AppName | all]

# 热重载,多用于cluster模式,逐个重新启动所有进程,始终保持至少一个进程在运行,实现不停机重载
pm2 reload [AppName]

# 删除,all表示全部app
pm2 delete [id | AppName | all]

# 监控
pm2 monit [id | AppName]

# 日志
pm2 logs

常见错误

windows系统常见错误(1)

# 报错信息
C:\USERS\<username>\APPDATA\ROAMING\NPM\YARN.CMD:1
(function (exports, require, module, __filename, __dirname) { @IF EXIST "%~dp0\node.exe" (
                                                              ^
SyntaxError: Invalid or unexpected token
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:656:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Object.<anonymous> (C:\Users\<username>\AppData\Local\Yarn\Data\global\node_modules\pm2\lib\ProcessContainerFork.js:27:21)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
C:\USERS\<username>\APPDATA\ROAMING\NPM\YARN.CMD:1
(function (exports, require, module, __filename, __dirname) { @IF EXIST "%~dp0\node.exe" (

# 错误分析
在Windows上,yarn.cmd它不是有效的,您必须直接运行Node.js命令

# 解决方法
pm2 start C:\Users\<username>\AppData\Roaming\npm\node_modules\yarn\bin\yarn.js --name nuxt -- start
Copyright © blog.wdg.pub 2020 all right reserved,powered by Gitbook该文件修订时间: 2019-08-07 08:42:43

results matching ""

    No results matching ""