Pab*_*oDK 11 windows restart node.js pm2
在Windows AWS服务器上,我有一个NODE应用程序,我正在使用PM2来启动应用程序
我试过NPM:"pm2-windows-startup"和"pm2-windows-service"
但是在我重新启动AWS实例并运行之后
PM2 ls
Run Code Online (Sandbox Code Playgroud)
列表中没有节点应用程序显示...
我按照指示......
PM2原木不包含任何东西......
我没有明确添加任何ENV变量(当我尝试PM2无法启动时 - 所以我创建了一个新的AWS windows实例并从头再次安装了所有东西......)
PM2位于默认位置(我没有更改任何路径)
C:\Users\Administrator\.pm2
Run Code Online (Sandbox Code Playgroud)
我的PM2文件包含:
2017-03-13 07:37:48:======================================= ======================================== 2017-03-13 07:37:48 :---新的PM2守护进程开始------------------------------------------ ----------
2017-03-13 07:37:48:时间:2017年3月13日星期一07:37:48 GMT + 0000(世界协调时间)2017-03-13 07:37:48:PM2版本:2.4.2 2017-03 -13 07:37:48:Node.js版本:6.10.0 2017-03-13 07:37:48:当前arch:x64 2017-03-13 07:37:48:PM2主页:C:\ Users\Administrator.pm2 2017-03-13 07:37:48:PM2 PID文件:C:\ Users\Administrator.pm2\pm2.pid 2017-03-13 07:37:48:RPC套接字文件:\.\ pipe\rpc.sock 2017-03-13 07:37:48:BUS套接字文件:\.\ pipe\pub.sock 2017-03-13 07:37:48:应用程序日志路径:C:\ Users\Administrator.pm2 \日志2017-03-13 07:37:48:进程转储文件:C:\ Users\Administrator.pm2\dump.pm2 2017-03-13 07:37:48:并发行动:2 2017-03-13 07: 37:48:SIGTERM超时:1600 2017-03-13 07:37:48:=============================== ================================================
2017-03-13 07:37:48:在-fork模式下启动执行顺序 - 对于app name:mySuperApp id:0 2017-03-13 07:37:48:应用程序名称:mySuperApp id:0 online 2017-03- 13 07:40:45:=========================================== ====================================
2017-03-13 07:40:45:---新的PM2守护进程启动-------------------------------- -------------------- 2017-03-13 07:40:45:时间:2017年3月13日星期一07:40:45 GMT + 0000(世界协调时间) 2017-03-13 07:40:45:PM2版本:2.4.2 2017-03-13 07:40:45:Node.js版本:6.10.0 2017-03-13 07:40:45:当前拱门: x64 2017-03-13 07:40:45:PM2主页:C:\ Users\Administrator.pm2 2017-03-13 07:40:45:PM2 PID文件:C:\ Users\Administrator.pm2\pm2.pid 2017-03-13 07:40:45:RPC套接字文件:\.\ pipe\rpc.sock 2017-03-13 07:40:45:BUS套接字文件:\.\ pipe\pub.sock 2017-03- 13 07:40:45:应用程序日志路径:C:\ Users\Administrator.pm2\logs 2017-03-13 07:40:45:进程转储文件:C:\ Users\Administrator.pm2\dump.pm2 2017- 03-13 07:40:45:并发行动:2 2017-03-13 07:40:45:SIGTERM超时:1600 2017-03-13 07:40:45:=========== ================================================== ==================
我的PM2 DUMB文件包含:
[{"exec_mode":"fork_mode","watch":false,"treekill":true,"autorestart":true,"automation":true,"pmx":true,"vizion":true,"name": "mySuperApp","node_args":[],"pm_exec_path":"c:\ mypath\mySuperApp\server.js","env":{"windir":"C:\ Windows","USERPROFILE":"C :\ Users\Administrator","USERNAME":"Administrator","USERDOMAIN_ROAMINGPROFILE":"EC2AMAZ-REBQJDK","USERDOMAIN":"EC2AMAZ-REBQJDK","TMP":"C:\ Users\ADMINI~1\AppData\Local\Temp\2","TEMP":"C:\ Users\ADMINI~1\AppData\Local\Temp\2","SystemRoot":"C:\ Windows","SystemDrive":"C:" ,"SESSIONNAME":"RDP-Tcp#1","PUBLIC":"C:\ Users\Public","PSModulePath":"C:\ Program Files\WindowsPowerShell\Modules; C:\ Windows\system32\WindowsPowerShell\v1.0\Modules; C:\ Program Files(x86)\ AWS Tools\PowerShell \","PROMPT":"$ P $ G","ProgramW6432":"C:\ Program Files","ProgramFiles(x86) ":"C:\ Program Files(x86)","ProgramFiles":"C:\ Program Files","ProgramData":"C:\ ProgramData","PROCESSOR_REVISION":"3f02","PROCESSOR_LEVEL":"6 ","PROCE SSOR_IDENTIFIER":"Intel64 Family 6 Model 63 Stepping 2,GenuineIntel","PROCESSOR_ARCHITECTURE":"AMD64","PM2_USAGE":"CLI","PM2_INTERACTOR_PROCESSING":"true","PATHEXT":".com; .EXE; .BAT; .CMD; .VBS; .VBE; .JSE; .WSF; .WSH; .MSC","Path":"C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem ; C:\ Windows\System32\WindowsPowerShell\v1.0 \; C:\ Program Files\Amazon\cfn-bootstrap \; C:\ Program Files \nodejs \; C:\ Users\Administrator\AppData\Local\Microsoft\WindowsApps; C:\ Users\Administrator\AppData\Roaming \npm","OS":"Windows_NT","NUMBER_OF_PROCESSORS":"1","LOGONSERVER":"\\ EC2AMAZ-REBQJDK","LOCALAPPDATA":"C :\ Users\Administrator\AppData\Local","HOMEPATH":"\ Users\Administrator","HOMEDRIVE":"C:","ComSpec":"C:\ Windows\system32\cmd.exe","COMPUTERNAME ":"EC2AMAZ-REBQJDK","CommonProgramW6432":"C:\ Program Files\Common Files","CommonProgramFiles(x86)":"C:\ Program Files(x86)\ Common Files","CommonProgramFiles":"C :\ Program Files\Common Files","CLIENTNAME":"THESILVERFOX","APPDATA":"C:\ U sers\Administrator\AppData\Roaming","ALLUSERSPROFILE":"C:\ ProgramData","PM2_HOME":"C:\ Users\Administrator\.pm2","mySuperApp":{}},"pm_cwd":"c :\ mypath\mySuperApp","exec_interpreter":"node","pm_out_log_path":"C:\ Users\Administrator\.pm2\logs\mySuperApp-out-0.log","pm_err_log_path":"C:\ Users\Administrator\.pm2\logs\mySuperApp-error-0.log","pm_pid_path":"C:\ Users\Administrator\.pm2\pids\mySuperApp-0.pid","km_link":false,"NODE_APP_INSTANCE" :0,"vizion_running":false,"windir":"C:\ Windows","USERPROFILE":"C:\ Users\Administrator","USERNAME":"Administrator","USERDOMAIN_ROAMINGPROFILE":"EC2AMAZ-REBQJDK" ,"USERDOMAIN":"EC2AMAZ-REBQJDK","TMP":"C:\ Users\ADMINI~1\AppData\Local\Temp\2","TEMP":"C:\ Users\ADMINI~1\AppData\Local\Temp\2","SystemRoot":"C:\ Windows","SystemDrive":"C:","SESSIONNAME":"RDP-Tcp#1","PUBLIC":"C:\ Users\Public ","PSModulePath":"C:\ Program Files\WindowsPowerShell\Modules; C:\ Windows\system32\WindowsPowerShell\v1.0\Modules; C:\ Program Files(x86))\ AWS Tools\PowerShell \","PROMPT":"$ P $ G","ProgramW6432":"C:\ Program Files","ProgramFiles(x86)":"C:\ Program Files(x86)", "ProgramFiles":"C:\ Program Files","ProgramData":"C:\ ProgramData","PROCESSOR_REVISION":"3f02","PROCESSOR_LEVEL":"6","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 63 Stepping 2,GenuineIntel","PROCESSOR_ARCHITECTURE":"AMD64","PM2_USAGE":"CLI","PM2_INTERACTOR_PROCESSING":"true","PATHEXT":".COM; .EXE; .BAT; .CMD; .VBS;. VBE; .JSE; .WSF; .WSH; .MSC","Path":"C:\ Windows\system32; C:\ Windows; C:\ Windows\System32\Wbem; C:\ Windows\System32\WindowsPowerShell\v1.0 \; C:\ Program Files\Amazon\cfn-bootstrap \; C:\ Program Files \nodejs \; C:\ Users\Administrator\AppData\Local\Microsoft\WindowsApps; C:\ Users\Administrator\AppData \漫游\npm","操作系统":"Windows_NT","NUMBER_OF_PROCESSORS":"1","LOGONSERVER":"\\ EC2AMAZ-REBQJDK","LOCALAPPDATA":"C:\ Users\Administrator\AppData\Local" ,"HOMEPATH":"\ Users\Administrator","HOMEDRIVE":"C:","ComSpec":"C:\ Windows\system32\cmd.exe"," COMPUTERNAME":"EC2AMAZ-REBQJDK","CommonProgramW6432":"C:\ Program Files\Common Files","CommonProgramFiles(x86)":"C:\ Program Files(x86)\ Common Files","CommonProgramFiles":" C:\ Program Files\Common Files","CLIENTNAME":"THESILVERFOX","APPDATA":"C:\ Users\Administrator\AppData\Roaming","ALLUSERSPROFILE":"C:\ ProgramData","PM2_HOME": "C:\ Users\Administrator\.pm2","status":"online","pm_uptime":1489390668484,"axm_actions":[],"axm_monitor":{"循环延迟":{"警告":{} ,"agg_type":"avg","value":"36.91ms"}},"axm_options":{"default_actions":true,"transactions":false,"http":false,"http_latency":200," http_code":500,"ignore_routes":[],"profiling":true,"errors":true,"alert_enabled":true,"custom_probes":true,"network":false,"ports":false,"ignoreFilter ":{"method":["OPTIONS"],"url":[]},"excludedHooks":[],"module_conf":{},"module_name":"mySuperApp","module_version":"2.4. 2","pmx_version":"1.0.3","错误":true},"axm_dynamic":{},"cre ated_at":1489390668484,"restart_time":0,"unstable_restarts":0,"版本控制":null,"node_version":"6.10.0"}]
Pab*_*oDK 26
我不知道为什么 - 但经过几次尝试后,这个问题得以实现(在全新安装的AWS Windows 2016 BASE实例上)
tom*_*953 12
更新 06/2021
我发现本教程非常有用:https : //blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
第一种使用“nssm”和 .bat 文件的方法对我不起作用,所以我遵循了方法 2:“解决方案 2:使用 pm2-windows-service”
然而,正如其他答案中提到的,pm2-windows-service有一个错误,
这个 fork 解决了:https :
//www.npmjs.com/package/@innomizetech/pm2-windows-service
所以代替旧包(pm2-windows-service):使用新包:
npm install -g @innomizetech/pm2-windows-service
这里是本教程的简短摘要:
npm i -g pm2pm2以初始化并创建.pm2文件夹C:\Users\USER\.pm2到C:\etc\.pm2PM2_HOME值:c:\etc\.pm2pm2 start app.js --name=MY_API。pm2 save 创建当前正在运行的应用程序的转储。pm2 kill然后pm2 resurrect(应用程序应该正在运行,请检查pm2 status)现在我们需要在启动时执行 resurrect 命令,所以:
npm install -g @innomizetech/pm2-windows-servicepm2-service-install -n PM2 --unattended就是这样。
最简单的方法而且效果很好希望对一些人有帮助
%windir%\system32\CMD.exe /k "start pm2 start myApp.js --name mySuperApp"pm2-windows-startup如果您对它在登录时启动的事实感到满意,那么效果很好。如果您在服务器上重新启动(例如 Windows 更新),那么您就不走运了。
pm2-windows-service确实对我有用,使用@innomizetechfork,但我遇到了一些问题,可能是由于用户或其设置,或其他原因。基本上该服务会启动旧版本的已保存进程列表,即使我尝试过pm2 delete all, pm2 start ecosystem.config.js, pm2 save。
我求助于一个非常简单的自制解决方案:
pm2-resurrect.sh中C:\,其中包含一行pm2 resurrect。C:\pm2-resurrect.sh。就我而言,我有 Windows 版 Git,它带有 bash,它打开文件并执行它。我没有测试它,但我想你可以有一个.cmd内容相同的文件。
小智 6
我尝试了以上所有方法,但都没有运气。什么对我有用:
pm2 resurrect命令| 归档时间: |
|
| 查看次数: |
11242 次 |
| 最近记录: |