IIS Node express 项目在用户注销服务器后关闭

IIS Node express project down after the user logs out of the server

我正在使用 iis 部署我的 node express 项目并启动 pm2 start 命令。当用户注销服务器时项目关闭。当用户登录服务器时它会出现。当用户注销服务器时它是怎么回事?我该怎么办?

我认为这种方法 运行 与 windows 系统的逻辑背道而驰。

当用户注销时,Windows将关闭所有程序,程序不能运行。在很大程度上,用户注销与关机是一样的。关机将使所有程序无法运行,并使设备进入停止工作状态。用户注销是为了允许其他用户登录。Windows停止之前的程序,让所有资源服务于后续登录的用户。

对于你的问题,我能想到的最好的解决办法是start PM2 when windows starts。但是,除非用户不注销,否则用户注销服务停止仍然是不可避免的。

  1. 创建一个c:\pm2目录(该目录可以任意命名, 放置在任何地方)
  2. 创建一个名为 PM2_HOME 的系统范围环境变量,然后 为其分配一个值“c:\pm2”(或您在其中创建的任何目录 第一步)
  3. 注销重新登录使新变量生效
  4. 在命令提示符下,运行“pm2 start path/to/app1”等所有应用程序 应该进行监控。
  5. 在同一个命令提示符下,运行“pm2 保存”。你现在有一个 快照文件在 c:\pm2.
  6. 运行 “pm2 kill” 停止 pm2 本身以及受监控的进程, 然后“pm2 resurrect”以确保所需的应用程序已启动 pm2.
  7. 在Windows调度程序中创建一个任务,将其设置为在系统上触发 启动,然后简单地执行“pm2 复活”。取决于你的路径 设置,您可能必须用完整路径替换“pm2” pm2 可执行文件。除了在系统启动时触发外,任务 还应该(例如)每 5 分钟触发一次。这确保了 如果 PM2 死亡,它自己将重新启动。换句话说:最大 停机时间为 5 分钟。
  8. 重启。 PM2 应该在重启后启动,同时启动 发出“pm2 save”时被PM2监控的应用程序。