说明:个人博客地址为edwardesire.com,欢迎前来品尝。

Heroku是国外普遍使用大受好评的PaaS,支持Nodejs,基础服务(Nodejs+MongoDB)基本都是免费的。搭建MEAN框架也不怎么费劲。名字是'Hero'和'taiku(俳句)'的合体。我们先一起来读一读发音(her-OH-koo)好了。


  1. 准备工作

    github官网上下载GitHubSetup.exe,我们需要使用Git Bash进入到shell里头输入命令(与RSA公钥的有关)。

  2. RSA密钥的配置

    Heroku支持RSA和DSA密钥格式,我们在安装好GitHub Windows客户端后,在/Users/user/下右键点击.ssh(没有就新建一个),打开Git Bash。如图,输入 ssh-keygen -t rsa,确认路径,无需理会passphrase确确认(因为我已经有id_rsa密钥所以多了个覆盖确定)。

    接着就是想公钥上传到Heroku了,这里使用heroku keys:add添加密钥,如果成功应该会出现下图。

    还有一些命令也许以后会用到,显示已有密钥 heroku keys,移除已有密钥 heroku keys:remove 密钥名(从上个命令可以得到),移除所有密钥 heroku keys:clear

    最后我们只确定SSH是否能正常使用,输入命令 ssh -v git@heroku.com,如果出现下图的Authenticated to heroku.com就可以用git来同步代码了。

  3. 上传源码

    在项目(最好没有.git文件夹)根目录添加一个能让Heroku识别应用入口的文件Procfile,里头输入web: node server.js。再右键点击空白,点击Git Bash进入Shell。

    输入heroku login输入你的用户名和密码。接下来就是创建应用和数据库

     heroku create appName
    heroku addons:add mongoLab

    添加mongoDB的插件后还需要配置数据库信息。我们最好在mongolab新建一个用户来给应用使用,把项目的数据库配置修改为 mongodb://<dbuser>:<dbpassword>@ds051720.mongolab.com:51720/<dbname>

    再用git同步代码(这里就会覆盖掉以前git的配置咯)

     git init
    git add .
    git commit -m "some messages"

    再就是创建数据库的插件 heroku addons:add mongolab,最后使用命令 git push heroku master,如果出现下图的Launching... done,我们就打开链接试试。

  4. 相关调试方法

    当我们程序出错时,我们可以使用 heroku logs --tail查看服务器的日志。一般在本地能正常运行,放在平台上就应该只是配置问题了。

在Heroku上部署MEAN的更多相关文章

  1. 在Heroku上部署Node.js应用

    最近在学习Node.js,想找一个可以免费部署Node的平台,于是便找到了Heroku 直接进入主题,接下来我们一步一步部署自己的Node应用. 步骤1: 注册一个免费的Heroku账号. 步骤2: ...

  2. 在heroku上部署gost代理服务端

    gost ( https://github.com/ginuerzh/gost ) gost 的 websocket tunnel 功能使用 WebSocket 协议,相较 HTTP 协议能做更多事, ...

  3. 如何查看在Heroku上部署了那些站点

        使用以下命令查看 Heroku 站点地址:   $ heroku domains   例如: http://peaceful-springs-94972.herokuapp.com/signu ...

  4. 通过Mono 在 Heroku 上运行 .NET 应用

    英文原文:Running .NET on Heroku 中文原文:在 Heroku 上运行 .NET 应用 自从加入了Heroku之后,我就想在这个平台上运行.NET程序.现在我很高兴向大家宣布,我们 ...

  5. 三步将Node应用部署到Heroku上

    Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...

  6. 三步将Node应用部署到Heroku上 --转载

    Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...

  7. Flask 教程 第十八章:Heroku上的部署

    本文翻译自The Flask Mega-Tutorial Part XVIII: Deployment on Heroku 这是Flask Mega-Tutorial系列的第十八部分,我将在其中部署M ...

  8. [原创]Heroku简单部署指南

    目录 1. 设置 1.1 环境依赖 1.2 Heroku 客户端安装 1.3 登录 2. 应用 2.1 创建 2.2 查看日志 2.3 附加组件 2.4 交互式 Shell 2.5 定义 配置变量 2 ...

  9. 删除heroku上的数据库记录

    部署本地项目到heroku上.在线上插入数据到数据库,本地代码再次更新到heroku,线上的数据记录还存在单是图片丢失.问题还没有解决: 本地代码和heroku代码怎样同步? heroku使用的pg和 ...

随机推荐

  1. 用maven进行测试

    maven的重要职责之一就是自动运行单元测试,它通过maven-surefire-plugin与主流的单元测试框架junit和testng集成,并且能够自动生成丰富的结果报表. maven并不是一个单 ...

  2. java.lang.NumberFormatException: For input string:"filesId"

    做项目时候,页面获取出现了这个问题.找了好久一直以为是我字段或者是数据库字段问题导致引起的. 最后才发现是 struts2中jsp我写错了一个参数,一直导致报错.后来改了就好了. 当大家遇到这个问题的 ...

  3. Android的NDK开发(4)————JNI数据结构之JNINativeMethod

    转至:http://blog.csdn.net/conowen/article/details/7524744 1.JNINativeMethod 结构体的官方定义 typedef struct { ...

  4. 加密解密(9)Diffie-Hellman密钥交换协议

    过程如下 : 1,小李把KeyX经过加密变化,生成MsgA传给老王. 2,老王得到MsgA,保存在本地. 3,老王把KeyY经过加密变化,生成MsgB传给小李, 4,小李得到MsgB保存在本地, 5, ...

  5. C#通过代码注册COM组件

    using System; using System.Diagnostics; using Microsoft.Win32; namespace ChuckLu.Utility { public cl ...

  6. git push

    使用git push直接推送未关联分支的时候,出现如下提示: $ git push Counting objects: 46, done. Delta compression using up to ...

  7. hdu 4968 Improving the GPA (水 暴力枚举)

    题目链接 题意:给平均成绩和科目数,求可能的最大学分和最小学分. 分析: 枚举一下,可以达到复杂度可以达到10^4,我下面的代码是10^5,可以把最后一个循环撤掉. 刚开始以为枚举档次的话是5^10, ...

  8. EF4.0和EF5.0增删改查的写法区别及执行Sql的方法

    EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...

  9. 笨笨-歌词伴侣V1.2(酷狗KRC转LRC,LRC歌词批量下载)

      最近由于某些热心博友在我CSDN博客上使用了我的软件,提出了一些建议,看到自己的成果有人使用并且提出了一些建议,焉有不高兴之理!刚好碰上最近研究UI界面,有了一个初步的框架,就顺手将歌词相关功能集 ...

  10. 3732 Ahui Writes Word

    // N个物品 放进容量为C的背包里面 要求价值最大// 一看 第一反应是0 1背包 不过 N=100000 C=10000// 注意到 v,c在 10以内// 那么 最多就100种组合了 然后就转化 ...