You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下如何将NodeJS(NestJS)后端HTTP服务器作为后台进程运行?

无网环境Node.js脚本后台运行+自动启动解决方案

优先方案:打包为独立EXE(适配全平台,无需目标设备装Node.js)

这个方案最适合无网部署场景,你可以直接复用已经掌握的EXE后台进程添加逻辑:

  • 提前在有网的开发设备上安装打包工具,执行npm install -g pkg
  • 执行打包命令生成单EXE文件:pkg app.js -t win-x64,可根据部署目标替换target参数,可选linux-x64、macos-x64等
  • 打包生成的EXE文件可直接拷贝到无网设备运行,不需要依赖Node.js环境,和普通EXE程序的后台添加、自启配置逻辑完全一致

备选方案:目标设备预安装Node.js环境后配置服务

如果不需要打包为EXE,可提前将Node.js离线安装包拷贝到目标设备完成安装后,按部署系统类型配置:

Windows端(PC/Windows服务器)

  • 单次后台运行PowerShell命令:Start-Process -NoNewWindow -FilePath "node" -ArgumentList "你的app.js完整路径" -WindowStyle Hidden
  • 安装流程自动启动可二选一:
    • 开机启动项配置:将上述PowerShell命令保存为.ps1后缀的脚本文件,拷贝到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录,系统开机后会自动执行
    • 注册为系统服务:提前下载nssm离线工具,安装时执行nssm install 自定义服务名 "node.exe完整路径" "app.js完整路径",再执行net start 自定义服务名即可,服务默认开机自启、崩溃自动重启

Linux服务器端

  • 单次后台运行命令:nohup node 你的app.js完整路径 > /var/log/node_app.log 2>&1 &
  • 开机自启配置systemd服务:新建/etc/systemd/system/node-app.service文件,写入以下内容:

[Unit]
Description=Node应用服务
After=network.target

[Service]
ExecStart=/usr/bin/node 你的app.js完整路径
Restart=always
User=root

[Install]
WantedBy=multi-user.target

  • 执行激活命令即可生效:systemctl daemon-reload && systemctl enable node-app && systemctl start node-app

安装流程集成说明

你可以将上述对应命令集成到安装包的安装完成回调逻辑中(比如用Inno Setup、NSIS制作安装包时均可配置安装后执行自定义命令),全程不需要联网即可完成自动配置。

内容的提问来源于stack exchange,提问作者Dagistan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:00:02