首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs应用程序如何始终作为Windows服务运行?

Nodejs应用程序如何始终作为Windows服务运行?
EN

Stack Overflow用户
提问于 2021-03-24 06:57:20
回答 2查看 1.5K关注 0票数 0

我有windows 2016云托管。我在IIS上广播我的网站。

我有两个应用程序运行在Nodejs上。配置应用程序后,我将退出窗口。

我的IIS站点继续运行,但当我注销或重新启动窗口时,我的nodejs应用程序退出。

我按照下面的步骤来解决这个问题。

  1. 我安装了pm2库。全球范围内。
代码语言:javascript
运行
复制
npm install --global pm2@latest 
  1. 我安装了pm2-windows-service库。全球范围内。
代码语言:javascript
运行
复制
npm i pm2-windows-service -g
  1. 我安装了pm2-windows-startup库。全球范围内。
代码语言:javascript
运行
复制
npm install pm2-windows-startup -g
  1. 我卸载正在运行的服务以避免重复运行应用程序。
代码语言:javascript
运行
复制
pm2 kill
  1. 如果有任何正在运行的服务,我首先卸载它。
代码语言:javascript
运行
复制
pm2-service-uninstall
  1. 我安装了pm2-service-install库。我把它命名为"pm2Service1“。我看到它是从我进入services.msc开始的。
代码语言:javascript
运行
复制
pm2-service-install -n pm2Service1
  1. 当Windows打开时,我会启动应用程序的启动服务。
代码语言:javascript
运行
复制
pm2-startup install
  1. 我转到安装应用程序的目录,并使用pm2运行应用程序。(如果我不输入这个目录并运行它,它就会产生一个错误。无法读取sql / file.sql文件。)
代码语言:javascript
运行
复制
c:
cd C:\webSites\myService1
pm2 start app.js
  1. 我用list和show检查应用程序,看看它是否有效。
代码语言:javascript
运行
复制
pm2 list
pm2 show 0

确保它能起作用。

  1. 我在记录正在运行的应用程序。
代码语言:javascript
运行
复制
pm2 save --force

当我完成这些过程并注销窗口时,我可以从外部访问应用程序。

但是,当我重新启动windows时,应用程序无法工作。每次启动我都要重复同样的步骤。

当Windows重新启动时,"pm2Service1“似乎起作用了。但是pm2将列表列为空。

EN

回答 2

Stack Overflow用户

发布于 2022-03-21 20:11:48

我通过使用NSSM服务在我的服务器上完成了这个任务。安装后,转到NSSM文件夹并键入

代码语言:javascript
运行
复制
nssm install PM2

您可以在这里找到整个教程:

https://lakin-mohapatra.medium.com/register-pm2-as-a-service-in-the-windows-server-747f19e2ff2a

票数 1
EN

Stack Overflow用户

发布于 2022-02-15 05:34:54

最佳实践AFAIK是使用nssm + "windows批处理文件“启动您的app.js,有关更多详细信息,您可以查看链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66776081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档