我的NodeJS学习之路10(线上部署)

作者: Devid | 来源:发表于2016-01-29 17:35 被阅读1472次

    请关注专题:我的NodeJS学习之路(实践之路)

    小弟初涉node领域,不足之处,还请多多指教!
    欢迎Star、Fork:https://github.com/gefangshuai/ANodeBlog

    程序开发完了,我们就可以部署到远程服务器了。如果没有服务器,推荐买一台云服务器,可以部署自己的项目或者干点别的。

    关于服务器的购买,国内首推阿里云。不过阿里云的价格对于个人来说,贵!!所以我推荐买国外的DigitalOcean(nodejs社区主推)。这里介绍一下如何购买及使用DigitalOcean

    购买DigitalOcean需要有一个支持美元的信用卡或者PayPal账号。

    首先注册一个DigitalOcean账号。

    然后看一下DigitalOcean的价格:

    为什么推荐DigitalOcean呢?因为DigitalOcean良心大大的!
    支持按月或者按小时付费,如果你想玩一会,可以按小时付费,先体验以下,非常划算!

    Paste_Image.png Paste_Image.png

    对于个人来说,我推荐$5/月足够了。

    买完服务器之后,就可以创建一个镜像,搭建环境了。详细创建镜像教程请参考使用DigitalOcean + ShadowSocks 进行科学上网

    镜像创建完成,就开始搭建nodejs环境、git环境和mongodb环境。至于linux下怎么搭建环境,网上教程一堆,这里就不再悖述了,有问题的童鞋可以给我留言,我会一一解决!

    环境部署好并将自己的代码从github下拉下来后,在ssh客户端链接工具中输入:

    npm start
    

    但是你会发现,当我们关闭ssh连接工具后,程序就自动退出了!原因是当我们关闭ssh连接工具,npm进程就会被终结。所以我们需要让其在终端后台运行。

    那么怎么在后台运行呢?简单的方法可以参考Linux下使Shell 命令脱离终端在后台运行

    这里我介绍另外一个工具forever

    教程请参考使用forever在ssh中管理node应用

    对于本例,运行命令如下:

    forever start bin/www
    

    结束运行

    forever stop bin/www
    

    我这里简单写了一个部署脚本,集停止服务拉代码运行服务于一体,大家可以参考一下(deploy.sh):

    #!/bin/sh
    forever stop bin/www && git pull && npm install && forever start bin/www
    exit 0
    

    linux端将脚本授权

    # chmod +x deploy.sh
    

    然后每次只要本地将代码push到github后,只需要在服务器上运行

    ./deploy.sh
    

    即可!

    现在貌似pm2更流行一些,回头研究一下,分享给大家!

    请关注专题:我的NodeJS学习之路(实践之路)

    相关文章

      网友评论

      • 前端承诺:大神啊。文章789都不见了。
        Devid:@前端承诺 谢谢提醒,已修复!
      • 子达如何:10刀一个月就说70了哦,阿里云也才68一个月呢……
        Devid:@子达如何 买5刀的
      • 流花飘原:5刀?服务器会不会很卡呀? 推荐用pm2,比forver好用
        流花飘原:@Devid 给力给力d=(´▽`)=b,果断路转粉
        流花飘原:@Devid 这个网站服务器才5刀?
        Devid:@流花飘原 试一下wincn.net看看卡不卡
      • 最怕认真:问题来了,谁给你写前端~
        Devid:@最怕认真 自己动手,丰衣足食!

      本文标题:我的NodeJS学习之路10(线上部署)

      本文链接:https://www.haomeiwen.com/subject/vaglkttx.html