我的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学习之路(实践之路)

相关文章

网友评论

  • df1de50f18c2:大神啊。文章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