请问nodejs的后台服务是怎么部署的

请问开发时是运行node xx.js,怎么把文件打包当成服务运行

阅读 6k
5 个回答

部署在 Linux 上的 nodejs web服务可以按照我分享的这个方法做

  1. 直接使用 node xxx.js 启动服务, web 服务会使用端口 譬如: 8080
  2. 配置 nginx 反向代理, 简单的做法是 你可以安装 宝塔 添加一个静态网站, 修改网站的 nginx配置 添加反向代理. 可参考 nginx 反向代理部署
  3. 使用 npm install pm2 安装 pm2 守护程序, 防止断开 ssh 连接后终止你运行的命令

nginx 可以绑定域名, 并且还可以配置 ssl (https) 非常方便; javaspringboot 大多也是这种部署办法

pm2 进程守护可参考 阮老师Linux 守护进程的启动方法

Windows 下部署也类似, 只是不需要守护进程

:) 希望可以帮助到你~

1:如果不是TS写的,是不用打包的,直接node xx.js就行好了,暴露对应的端口,然后ip+port+路径 访问就好了。
2:但是如果没有后台运行,关掉终端服务就停了,所以需要留意,一般借助nohup或者pm2等其他工具守护进程就好了。

pm2
pm2 start index.js --name appName

不知道你所谓的后台服务是指什么?
一般来说,其实后台服务就是一种程序,只是可能没有前台及时的交互(输入、输出)环境,这在不同的系统下也有不同的形式,在类Uinx环境下,其实就是把程序运行在后台即可,比如在运行命令后加一个& 即可。在windows下则需要(powershell环境)
Start-Process -WindowStyle hidden -FilePath "运行的内容" 来运行程序,这样就是无窗口后台运行。

当然,两种环境还有可以更进一步方便 启动、重启等处理管理的各自的 后台服务 管理运行机制,在对应的机制下,系统可以进一步监控服务状态,实施一定的管理(比如故障恢复),这在Linux之类上就如Systemd服务运行管理体系,在windows下就是服务管理体系。

综上,最简单实现后台服务的方法,在如Linux下,直接在命令后加& 即可,比如你的node xx.js变成 node xx.js &,在window (powershell环境)下为:Start-Process -WindowStyle hidden -FilePath "node xx.js"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏