当前位置: 首页 > 知识库问答 >
问题:

Windows:自动启动PM2和节点应用程序

汝岳
2023-03-14

在Windows AWS服务器上,我有一个节点应用程序,我正在使用PM2启动该应用程序

我已经尝试了npms:“pm2-windows-startup”和“pm2-windows-service”

但是在我重新启动AWS实例并运行

PM2 ls

列表中没有节点应用程序。..

    null
C:\Users\Administrator\.pm2

我的PM2文件包含:

2017-03-13 07:37:48:========================================================================================================================================

2017-03-13 07:37:48:时间:2017年3月13日星期一07:37:48 GMT+0000(协调世界时间)2017-03-13 07:37:48:PM2版本:2.4.2 201 7-03-13 07:37:48:Node.js版本:6.10.0 201 7-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:\用户\管理员.PM2\日志2017-03-13 07:37:48:进程转储文件:C:\用户\管理员.PM2\dump.PM2 2017-03-13 07:37:48:并发操作:2 201 7-03-13 07:37:48:SIGTERM超时:1600 2017-03-13

2017-03-13 07:37:48:开始执行序列in-fork模式--适用于应用程序名称:MySuperApp ID:0201 7-03-13 07:37:48:应用程序名称:MySuperApp ID:0在线2017-03-13

2017-03-13 07:40:45:---新PM2守护进程启动----------------------------------------------------------------------------------------------------------------------------------------------时间:2017年3月13日星期一07:40:45 GMT+0000(协调世界时间)2017-03-13 07:40:45:PM2版本:2.4.2 201 7-03-13 07:40:45:Node.js版本:6.10.0 201 7-03-13 07:40:45:当前arch: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:总线套接字文件:\.\pipe\pub.sock 2017-03-13 07:40:45:应用程序日志路径:C:\用户\管理员.PM2\日志2017-03-13 07:40:45:进程转储文件:C:\用户\管理员.PM2\dump.PM2 07:40:45:并发操作:2 201 7-03-13 07:40:45:SIGTERM超时:1600 2017-03-13

我的PM2哑文件包含:

共有1个答案

宰烈
2023-03-14

2020年2月16日更新:

如果PM2在不登录机器的情况下自动启动(在重新启动后)对您来说很重要,请遵循我的新指令,而不是旧指令。

新指示(建议):

npm config set prefix "C:\\NodeJS\\npm"
npm config set cache "C:\\NodeJS\\npm-cache"
npm config set temp "C:\\NodeJS\\temp"
npm config ls -l (this will list all NPM settings -> look for the 3 lines/changes marked as `overriden`)
    null

先决条件(第3部分):

  1. npm安装pm2-g
  2. npm i pm2-windows-service-g
  3. npm安装-g npm-check-updates

当前,包pm2-windows-service使用的模块中有一个bug,因此我们也要修复这个问题,请按照以下步骤操作:

    null

安装并启动了PM2服务。

设置您喜欢的应用程序PM2启动-在关闭时或重新启动后:

  1. PM2启动myapp.js--命名mysuperapp
  2. PM2-F保存
  3. 重新启动,或者如果您使用AWS(或任何其他云提供商)。重新启动您的实例-等待5分钟,然后登录到计算机并执行pm2ls并检查您的应用程序已经启动并运行了大约5分钟(而不仅仅是因为您刚刚登录了几秒钟)。
    null

我下面的旧答案仍然有效--但是除非您登录机器,否则PM2不会启动,因为它正在从注册表加载PM2,并且没有将其作为服务运行。

我不知道为什么--但经过几次尝试,这个问题终于解决了(在一个新安装的AWS Windows 2016基本实例中)

  1. npm安装pm2-g
  2. npm安装pm2-windows-startup-g
  3. PM2-启动安装
  4. PM2启动myapp.js--命名mysuperapp
  5. PM2保存
  6. 重新启动
  7. PM2 ls
 类似资料:
  • 这里会出什么问题?我该怎么修好它?

  • 我想运行以下pm2任务: 它应该运行以下两个脚本: 但是,这似乎只是启动脚本。是否有一种方法可以用以外的其他名称来定位脚本?

  • 编辑:根据Jim Rush的建议,我现在使用rc.local而不是init.d direclty来运行永远启动启动。 你知道为什么这不起作用吗?我在覆盆子皮B+上运行覆盆子。我已经运行了/etc/init.d kuuyi start和forever kicks并启动了该应用程序。只是启动机器后就不会发生了。 在这方面的任何帮助都是非常感谢的,我在这方面就像乳制品日后的旧奶酪布一样筋疲力尽。

  • 当我使用时,我的javascript游戏应用程序将无法工作。当我使用时,游戏工作得很好,但不使用。在服务器上加载index.js文件,但随后给出错误,如: 和 再次,当我使用启动服务器时,程序运行平稳。 以下是我的process.yml文件

  • 我很难在服务器重新引导时重新启动pm2(它本身和两个节点/express文件,&)。 下面是我尝试的过程: 我在所有可能的组合中运行了上面的命令,但没有任何工作。我试着以根用户的身份运行,但也不起作用。 我的文件包含信息,所以我不知道还可以在哪里查找。 我尝试的其他参考资料... http://pm2.keymetrics.io/docs/usage/startup/ https://www.di

  • 我发现了这个,结果是windows 10上的pm2问题。 那篇文章末尾建议的变通办法似乎很管用。 基本上,首先安装node-cmd,然后创建一个startscript.js: