V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
caniuse
V2EX  ›  程序员

nodejs 项目, pm2 和 supervisor 怎么选择?

  •  
  •   caniuse · 2017-06-07 17:58:47 +08:00 · 7039 次点击
    这是一个创建于 2751 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看 github star 数,pm2 完胜
    26 条回复    2021-06-03 16:26:54 +08:00
    doubleflower
        1
    doubleflower  
       2017-06-07 18:04:19 +08:00
    pm2 我觉得挺不好用的,也有没必要的复杂。

    我一直用的是 https://github.com/andrewrk/naught 搭配 systemd。
    8023
        2
    8023  
       2017-06-07 18:07:20 +08:00
    我在用 pm2, supervisor 没有用过.
    感觉 pm2 还可以啊, 没什么坑, 可能是我用的功能不多吧 Orz...
    chenqh
        3
    chenqh  
       2017-06-07 20:05:54 +08:00 via iPhone
    随便用咯,能用就好
    ykjsw
        4
    ykjsw  
       2017-06-07 20:09:44 +08:00
    在用 supervisor,感觉加项目比较坑,每次都要全部重启,不知道是不是我的用法有问题
    WhiteLament
        5
    WhiteLament  
       2017-06-07 21:48:55 +08:00
    用得不多,但 pm2 感觉挺方便的
    lkytal
        6
    lkytal  
       2017-06-07 22:46:35 +08:00
    pm2 啊, supervisor 是开发的时候用用罢了
    ck65
        7
    ck65  
       2017-06-07 22:52:26 +08:00
    一直 pm2,稳定地支撑着十多个项目。
    而且带输出 JSON 格式的项目列表详情,简单的 apm 都可以直接怼上去。
    loveminds
        8
    loveminds  
       2017-06-08 01:51:39 +08:00
    我选 systemd
    DoraJDJ
        9
    DoraJDJ  
       2017-06-08 01:53:07 +08:00 via Android   ❤️ 1
    我选择 forever + systemd
    laoyur
        10
    laoyur  
       2017-06-08 08:47:57 +08:00
    @ykjsw #4 加项目后,supervisorctl update 一下,旧的项目并不会重启。你用的啥命令?
    ykjsw
        11
    ykjsw  
       2017-06-08 09:16:53 +08:00 via iPhone
    @laoyur 可能用成 restart 了 :(
    zhihy123
        12
    zhihy123  
       2017-06-08 09:34:13 +08:00
    果断 pm2 部署和监控都挺好用的。
    bramblex
        13
    bramblex  
       2017-06-08 10:01:33 +08:00
    用 supervisor,注意了就是 supervisor 不是 node 里面那个坑货。
    az8321550924
        14
    az8321550924  
       2017-06-08 10:08:02 +08:00
    别选了 node 生态 还是 pm2
    ezreal
        15
    ezreal  
       2017-06-08 10:17:33 +08:00
    我厂一般是用 pm2,走公司标准发布流程的话用的是 shell
    AlloVince
        16
    AlloVince  
       2017-06-08 11:01:25 +08:00
    supervisor 可以支持任意语言编写的程序,pm2 显然只针对 nodejs 程序
    keller
        17
    keller  
       2017-06-08 11:12:22 +08:00
    pm2 挺好用的
    stiekel
        18
    stiekel  
       2017-06-08 11:40:49 +08:00
    pm2 用了几年了。
    Sapp
        19
    Sapp  
       2017-06-08 12:40:20 +08:00
    supervisor 为什么感觉占用率好高? 感觉 pm2 用的比较多
    sc3263
        20
    sc3263  
       2017-06-08 12:45:56 +08:00 via iPhone
    @AlloVince pm2 也支持其他语言支持的程序的。我现在的项目,服务端就是用 pm2 管理的。C++ + python +nodejs。
    jiangzhuo
        21
    jiangzhuo  
       2017-06-08 13:02:11 +08:00
    nohup .....
    dven
        22
    dven  
       2017-06-08 13:20:45 +08:00
    @AlloVince systemd 不比 supervisor 差-
    smallpath
        23
    smallpath  
       2017-06-08 13:29:54 +08:00
    去年正式环境下用 py 那个 supervisor 日志等级没分出来,应该是姿势不对,我自己一直是用的 pm2
    clippit
        24
    clippit  
       2017-06-09 00:05:55 +08:00
    话说楼上在生产环境用 pm2 的各位,你们注意过它是 AGPL 的么
    caniuse
        25
    caniuse  
    OP
       2017-06-09 09:31:30 +08:00
    原有的 GPL 协议,由于现在网络服务公司兴起(如:google )产生了一定的漏洞,比如使用 GPL 的自由软件,但是并不发布与网络之中,则可以自由的使 用 GPL 协议确不开源自己私有的解决方案。AGPL 则增加了对此做法的约束。

    AGPL 是 GPL 的一个补充, 在 GPL 的基础上加了一些限制。

    AGPL 这个协议的制定是为了避免一个 GPL/LGPL 协议中的漏洞,称之为 Web Service Loopwhole。
    这主要是由于 GPL 是针对传统的软件分发模式的商业模式(以微软为代表), 如果你使用的 GPL 的代码作为
    基础完成你自己的软件,如果你要分发你的软件,你的软件必须也是 GPL 的。随着以 Google 为代表的软件
    作为服务的互联网公司的兴起,它们的“不分发软件,为客户提供网络服务”的商业模式就不受 GPL 协议的
    约束,所以 Google 公司在构筑他的搜索引擎的时候可以随心所欲的拿现有的 GPL 协议的开源代码,无需开
    源他的修改成果。AGPL 协议在 GPL 协议的基础上加上了这个约束。

    小结: 商业软件不能使用 AGPL 协议的代码。
    shenxgan
        26
    shenxgan  
       2021-06-03 16:26:54 +08:00
    @ykjsw 可以用 reload
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 15:25 · PVG 23:25 · LAX 07:25 · JFK 10:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.