V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

现在 node.js 服务器部署复杂吗?

  •  
  •   loading · 289 天前用 Android 发布 · 3758 次点击
    这是一个创建于 289 天前的主题,其中的信息可能已经有所发展或是发生改变。
    能不能像采用打包 app 那样,打一个包放到一台未安装 node 的服务器上运行呢?

    这样 node.js 部署也就能像 go 那样轻松了。
    第 1 条附言  ·  288 天前
    如果目标服务器属于局域网, docker 似乎很麻烦?
    35 回复  |  直到 2017-02-20 18:50:20 +08:00
        1
    xjp   289 天前 via iPhone
    不复杂 不能
        2
    hxtheone   289 天前
    完全没有 node 环境的话, 扔 docker 里?
        3
    xream   289 天前
    @xjp 能啊...有好几个方案都是打包成二进制的
        4
    xjp   289 天前 via iPhone
    @xream nw.js 和 election ? 这俩是客户端解决方案 服务端目前有二进制打包?
        5
    xream   289 天前
    @xjp jxcore nexe 这种
        6
    xjp   289 天前 via iPhone
    @xream 学习了 我研究一下
        7
    fuxpro   289 天前
    Node.js 解决方案和开发模式,注定无法使用传统的二进制打包方案,有很多人尝试,但是结果都无法满足要求,我自己也尝试过很多种可能的方案,最终的结论就是可靠性很低,成本太大,局限性太多。放弃
        8
    largepuma   289 天前 via Android
    业绩推荐部署方式: docker
        9
    smallpath   289 天前
    ...docker
        10
    stackboom   289 天前
    docker +1
        11
    mosliu   289 天前
    docker+1
        12
    bdbai   289 天前 via iPhone
    @fuxpro Python 、 PHP 同理
    所以 Docker 大法吼啊。
        13
    xjp   288 天前 via iPhone
    写个 helloworld 试了一下 nexe 他把 nodejs 源码下载到本地重新编译了一遍 最终生成 2.5G 大的一个 nodejs 依赖文件夹 和一个 30+M 的二进制主文件 根本不实用
        14
    weaming   288 天前
    @xjp 666
        15
    Srar   288 天前
    @xjp 我使用 nexe 默认方式编译 依赖有"async": "^1.5.0","body-parser": "^1.14.1","express": "^4.13.3","express3-handlebars": "^0.5.2","js-sha512": "^0.2.2", "morgan": "^1.6.1", "mysql": "^2.9.0","node-rsa": "^0.2.26","node-uuid": "^1.4.7" 最终出来的大小只有 21M, 如果用 UPX 压下还能更小...

        16
    Warder   288 天前 via Android
    看来还是 docker 好,开发调试都方便
        17
    vcfvct   288 天前 via Android   ♥ 1
    可以试试 Jenkins+aws ec2+aws cloudformation+puppet+aws code deploy 来实现 code 和运行 instance 的全部自动化。
        18
    16500682   288 天前 via iPhone
    docker+++
        19
    dibage   288 天前
    其实服务器上装个 nodejs 好像挺简单的。。(如果你使用 ubuntu 的话,直接下载二进制文件,解压目录,设置 env 即可

    所以打包,你可以把 nodejs 一起打包了~ 然后初始化的时候安装上即可
        20
    jiangzhuo   288 天前
    不复杂,能打包
        21
    jinhan13789991   288 天前 via Android
    Docker 一键转移
        22
    h4avone   288 天前
    zeit.co
        23
    only0jac   288 天前
    那为什么不直接 golang
        24
    majunbo   288 天前
    我刚刚弄了个 CentOS 5 ,还不知道成功了没有,可以输出 helloword 了,
    感觉有些麻烦:
    1 、升级 Python ->2.7
    2 、安装 nodejs
    http://blog.csdn.net/veizz/article/details/7237185
        25
    binux   288 天前 via Android
    打包一个 node ,一个带有依赖的 app , over 。
        26
    fuxpro   288 天前
    @bdbai Docker 这东西在一定程度是不错的,不过我不喜欢引入中间层,除非实在没有办法,否则我更希望是原生的,直接的
        27
    gyteng   288 天前 via Android
    能,如果你依赖的 npm 模块不需要编译的话甚至可以直接拷贝过去运行
        28
    93html   287 天前
    docker++++
        29
    panlilu   287 天前
    目标服务器属于局域网 docker 也没啥问题吧。。
        30
    xdream86   287 天前
    我用 shipit, 只需要一个命令部署就好了
        31
    loading   287 天前 via Android
    @panlilu 装 docker ,拉镜像都是问题。
        32
    panlilu   287 天前
    @loading 内网放一个 docker registry 然后镜像推到那上面其他机器从那个上面拉就可以。
    至于装 docker ,不能做系统的时候就装好么?
        33
    loading   287 天前 via Android
    @panlilu 真麻烦……
        34
    einsqing   280 天前
    推荐使用 pm2 管理
        35
    wobuhuicode   245 天前
    node 的部署还算可以,加上数据库, nginx 之类的,其实不是很复杂。推荐: http://www.jianshu.com/p/df7f017d88de
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2548 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 67ms · UTC 04:00 · PVG 12:00 · LAX 21:00 · JFK 00:00
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1