如何让 Node.js 后端作为一个服务运行在 Windows 服务器上。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Princeling
V2EX    Node.js

如何让 Node.js 后端作为一个服务运行在 Windows 服务器上。

  •  
  •   Princeling 2020-01-26 21:45:27 +08:00 10843 次点击
    这是一个创建于 2157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个比较守旧的老师的要求、写完了功能之后不喜欢运行在 Linux 服务器上的,要跑在 Windows 上。

    首先呢,我用 Windows 上的 pm2 服务,他说还要用 cmd,不能直接放到 iis 上吗? 然后我一搜,还真有个 iisNode 的插件,我折腾了半天,复杂程度比 pm2 有过之而无不及。 所以问一下各位有没有经验、有更好的方式

    29 条回复    2020-02-09 22:00:35 +08:00
    zhigang1992
        1
    zhigang1992  
       2020-01-26 21:46:38 +08:00   1
    docker
    CoderLife
        2
    CoderLife  
       2020-01-26 21:48:39 +08:00   3
    Trim21
        3
    Trim21  
       2020-01-26 21:52:13 +08:00
    在 cmd 里面用 pm2 命令启动(
    Princeling
        4
    Princeling  
    OP
       2020-01-26 21:53:57 +08:00
    @zhigang1992 docker 貌似是一个不错的选择
    yafoo data-uid=
        5
    yafoo  
       2020-01-26 22:12:47 +08:00 via Android
    在 cmd 里面用 pm2 命令启动 +1
    DoveAz
        6
    DoveAz  
       2020-01-26 22:14:11 +08:00 via Android
    pm2 怎么就复杂了,写个代码 cmd 都不会用吗。。。。
    ferock
        7
    ferock  
    PRO
       2020-01-27 00:26:11 +08:00 via Android
    守旧的老师?退休算了
    manami
        8
    manami  
       2020-01-27 08:27:27 +08:00 via Android
    windows 的 docker 一点也不好用……应该比不上 pm2
    kknd22
        9
    kknd22  
       2020-01-27 08:46:28 +08:00
    @CoderLife 这个用过,效果不错,的确是外来的和尚会念经
    uxstone
        10
    uxstone  
       2020-01-27 10:45:00 +08:00
    这不是守旧,这是憨
    还要用 iis ? 脱裤子放屁
    gouflv
        11
    gouflv  
       2020-01-27 10:55:02 +08:00 via iPhone
    老师可能是会用 Linux,要理解
    crclz
        12
    crclz  
       2020-01-27 11:01:54 +08:00
    弱智老师
    fengyj
        13
    fengyj  
       2020-01-27 11:09:06 +08:00 via Android
    放 IIS ?我笑了。
    这老师,你能访问使用看得到结果就可以了,真以为自己是很牛 B 的甲方呢?
    现在学校还有这种守旧却要求很高的老师?
    Princeling
        14
    Princeling  
    OP
       2020-01-27 11:18:53 +08:00
    @huiyifyj 网络中心的主任
    Princeling
        15
    Princeling  
    OP
       2020-01-27 11:22:14 +08:00
    @crclz 不要这么说嘛,我还是很尊重他的,我认为学校的网络拓扑做的很好,五六十岁的老师了,已经不想自己动手写程序了。
    chinvo
        16
    chinvo  
       2020-01-27 12:11:05 +08:00   1
    @uxstone #10

    @huiyifyj #13

    可能目标服务器上有正在运行的依赖 IIS 的项目, 这种时候不得不妥协
    superrichman
        17
    superrichman  
       2020-01-27 12:55:23 +08:00
    pm2 已经够简单了。。。

    我试过用 WinSW 可以把 nginx 做成 windows 服务,nodejs 改下配置也可以用,推荐试试。
    Princeling
        18
    Princeling  
    OP
       2020-01-27 13:54:58 +08:00
    @chinvo 谢谢,为什么呢。早知道用 asp 了,我的过失
    chinvo
        19
    chinvo  
       2020-01-27 13:57:57 +08:00
    @Princeling #18 这个也是没办法预知的嘛

    你可以试试用 C# 写个 WinForm 程序来后台运行 cmd 指令, 平时最小化到托盘区 (笑, 以前我在学校做校内服务的时候用过的骚操作)

    不过看了楼上的 NSSM, 感觉用那个可能还比较省事
        20
    TangMonk  
       2020-01-27 14:12:00 +08:00
    pm2 复杂?
    TangMonk
    justin2018
        21
    justin2018  
       2020-01-27 15:13:57 +08:00
    开个虚拟机
    ragnaroks
        22
    ragnaroks  
       2020-01-27 15:21:40 +08:00
    srvany/nssm 绝对满足你的要求,因为没写 wind2 之前我也用他们托管过 node.exe
    smilingsun
        23
    smilingsun  
       2020-01-27 15:41:43 +08:00
    虚拟机,port forwarding 出来
    version
        24
    version  
       2020-01-27 15:50:02 +08:00
    那就用 golang 来写就好.跨平台
    Princeling
        25
    Princeling  
    OP
       2020-01-27 16:39:24 +08:00
    @version goLang 能解决我这个问题吗,Windows 也不是不能跑 Node。
    loading
        26
    loading  
       2020-01-27 18:00:08 +08:00 via Android
    nssm 就能解决问题,十几分钟搞定。
    s609926202
        27
    s609926202  
       2020-01-27 23:48:44 +08:00 via iPhone
    Nssm +1、作为一个服务
    mritd
        28
    mritd  
       2020-01-28 07:26:33 +08:00 via iPhone
    nssm
    dream4ever
        29
    dream4ever  
       2020-02-09 22:00:35 +08:00
    之前尝试在公司已经跑了一堆业务的 Windows Server 2012 上部署 Node.js 项目,最开始也尝试了 PM2,但是各种问题导致 PM2 就是没法用,最后用 NSSM 搞定了,操作起来也很简单,看一下相关的文档和网上的教程就行。
    这是我当时研究 NSSM 做的笔记,希望能帮到你: https://github.com/Dream4ever/Knowledge-Base/issues/59
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2609 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:02 PVG 08:02 LAX 16:02 JFK 19:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86