express 后端使用 pkg 打包后,如何实现类似 pm2 多进程部署以及守护

2024-07-10 10:15:06 +08:00
 fengshils
继续上次发帖后,nodejs 的 express 后端使用 pkg 打包后,目前没什么问题,但是似乎没有办法使用 pm2 进行多进程部署了,是否还有更好的方案或者解决部署问题
1846 次点击
所在节点    Node.js
8 条回复
cheneydog
2024-07-10 10:37:50 +08:00
1. pkg 打包之后的可执行文件,依然可以用 pm2 部署。pm2 要额外单独装在服务器上。
2. nodejs 本身支持多进程可以使用 cluster 模块,pkg 直接打包到内部。
3. 守护进程可以用 pm2 、也可以用操作系统的 service ,做成 docker 也行。
horizon
2024-07-10 10:44:24 +08:00
「守护进程可以用 pm2 、也可以用操作系统的 service ,做成 docker 也行」
细说 docker 来守护
fengshils
2024-07-10 10:46:54 +08:00
@cheneydog 守护进程考察了 systemd ,大概率可行,就差一个多进程 cluster 难搞,我查查资料去
Belmode
2024-07-10 20:52:00 +08:00
@fengshils 可以参考一下 eggjs 的 cluster 实现,他们做好了。
magicdawn
2024-07-11 03:16:11 +08:00
pm2 用 fork mode, 监听多个端口, 然后用 nginx/caddy 的负载均衡打到这几个端口
fengshils
2024-07-11 09:41:11 +08:00
放弃 pkg 了 使用了 node 自带的 cluster 模块,后续观察下,pkg 打包 arm 版本容易出现问题,换 ncc 打包了
humbass
2024-07-14 11:55:27 +08:00
不对啊,node 20 + 版本,官方有打包教程 https://nodejs.org/api/single-executable-applications.html
fengshils
2024-07-15 10:02:53 +08:00
@humbass 前几天还实验性功能 ,可就进正式了啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1056144

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX