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

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

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

    这样 node.js 部署也就能像 go 那样轻松了。
    第 1 条附言  ·  2017-01-08 16:55:21 +08:00
    如果目标服务器属于局域网, docker 似乎很麻烦?
    35 回复  |  直到 2017-02-20 18:50:20 +08:00
        1
    xjp   2017-01-08 11:02:05 +08:00 via iPhone
    不复杂 不能
        2
    hxtheone   2017-01-08 11:02:44 +08:00
    完全没有 node 环境的话, 扔 docker 里?
        3
    xream   2017-01-08 11:06:00 +08:00
    @xjp 能啊...有好几个方案都是打包成二进制的
        4
    xjp   2017-01-08 11:08:22 +08:00 via iPhone
    @xream nw.js 和 election ? 这俩是客户端解决方案 服务端目前有二进制打包?
        5
    xream   2017-01-08 11:14:00 +08:00
    @xjp jxcore nexe 这种
        6
    xjp   2017-01-08 11:14:42 +08:00 via iPhone
    @xream 学习了 我研究一下
        7
    fuxpro   2017-01-08 11:15:18 +08:00
    Node.js 解决方案和开发模式,注定无法使用传统的二进制打包方案,有很多人尝试,但是结果都无法满足要求,我自己也尝试过很多种可能的方案,最终的结论就是可靠性很低,成本太大,局限性太多。放弃
        8
    largepuma   2017-01-08 11:26:42 +08:00 via Android
    业绩推荐部署方式: docker
        9
    smallpath   2017-01-08 11:35:27 +08:00
    ...docker
        10
    stackboom   2017-01-08 11:51:27 +08:00
    docker +1
        11
    mosliu   2017-01-08 11:56:48 +08:00
    docker+1
        12
    bdbai   2017-01-08 11:58:20 +08:00 via iPhone
    @fuxpro Python 、 PHP 同理
    所以 Docker 大法吼啊。
        13
    xjp   2017-01-08 12:04:44 +08:00 via iPhone
    写个 helloworld 试了一下 nexe 他把 nodejs 源码下载到本地重新编译了一遍 最终生成 2.5G 大的一个 nodejs 依赖文件夹 和一个 30+M 的二进制主文件 根本不实用
        14
    weaming   2017-01-08 12:15:28 +08:00
    @xjp 666
        15
    Srar   2017-01-08 12:16:20 +08:00
    @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   2017-01-08 12:21:17 +08:00 via Android
    看来还是 docker 好,开发调试都方便
        17
    vcfvct   2017-01-08 13:15:16 +08:00 via Android   ♥ 1
    可以试试 Jenkins+aws ec2+aws cloudformation+puppet+aws code deploy 来实现 code 和运行 instance 的全部自动化。
        18
    16500682   2017-01-08 13:28:16 +08:00 via iPhone
    docker+++
        19
    dibage   2017-01-08 13:34:38 +08:00
    其实服务器上装个 nodejs 好像挺简单的。。(如果你使用 ubuntu 的话,直接下载二进制文件,解压目录,设置 env 即可

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