【问题标题】:IIS Node express project down after the user logs out of the server用户注销服务器后 IIS Node express 项目关闭
【发布时间】:2021-05-21 11:51:04
【问题描述】:

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

【问题讨论】:

  • 请提供更多上下文注销意味着令牌过期提前谢谢

标签: node.js express iis pm2 npm-scripts


【解决方案1】:

我认为这是一种与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 save”。你现在有一个 c:\pm2 中的快照文件。
  6. 运行“pm2 kill”以停止 pm2 本身以及被监控的进程, 然后“pm2 resurrect”以确保所需的应用程序由 下午 2 点。
  7. 在 Windows 计划程序中创建一个任务,将其设置为在系统上触发 启动,然后简单地执行“pm2 resurrect”。取决于你的路径 设置,您可能需要将“pm2”替换为 pm2 可执行文件。除了在系统启动时触发,任务 还应该(例如)每 5 分钟触发一次。这确保了 如果 PM2 死了,它本身将重新启动。换句话说:最大 停机时间为 5 分钟。
  8. 重新启动。 PM2 应在重启后启动,并启动 发出“pm2 save”时由 PM2 监控的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多