Nodejs实战笔记之Nodejs+MongoDB搭建个人博客(七、终)

原创 xiaoyu7 教程 nodejs 3028阅读 2016-01-22 20:12:37 举报

部署到 Heroku

附上博客地址https://n-blogs.herokuapp.com/

Heroku 是一个主流的 PaaS 提供商,在开发人员中广受欢迎。这个服务围绕着基于 Git 的工作流设计,假如你熟悉 Git ,那部署就十分简单。这个服务原本是为托管 Ruby 应用程序而设计的,但 Heroku 之后加入了对 Node.js 、Clojure 、Scala 、Python 和 Java 等语言的支持。Heroku 的基础服务是免费的。

下面我们使用 Heroku 部署我们的博客。

注册

https://www.heroku.com/

创建一个应用

点击 Create a new app ,填写独一无二的应用名称后,点击 creat app 即创建成功,然后点击 Finish up 。

此时跳转到控制面板页,并且可以看到我们创建的应用了。我们通过 应用名称.herokuapp.com 即可访问我们的应用主页。如图所示:

安装 Heroku Toolbelt

Heroku 官方提供了 Heroku Toolbelt 工具更方便地部署和管理应用。它包含三个部分:

Heroku client :创建和管理 Heroku 应用的命令行工具
Foreman :一个在本地运行你的 app 的不错的选择
Git :分布式版本控制工具,用来把应用推送到 Heroku
Heroku Toolbelt 下载地址:https://toolbelt.heroku.com/

注意:假如你的电脑上已经安装了 Git ,那么在安装的时候选择 Custom Installation 并去掉安装 Git 的选项,否则选择 Full Installation 。

安装成功后,打开 Git Bash ,输入 heroku login ,然后输入在 Heroku 注册的帐号和密码进行登录。Git 会检测是否有 SSH 密钥,如果有,则使用此密钥并上传,如果没有,则创建一个密钥并上传。

Tips:SSH 密钥通常用于授予用户访问服务器的权限。可将它们用于某些配置中,以便无需密码即可访问服务器。许多 PaaS 提供商都使用了此功能。

Procfile

在工程的根目录下新建一个 Procfile 文件,添加如下内容:

web: node app.js
Procfile 文件告诉了服务器该使用什么命令启动一个 web 服务,这里我们通过 node app.js 执行 Node 脚本。为什么这里声明了一个 web 类型呢?官方解释为:

The name “web” is important here. It declares that this process type will be attached to the HTTP routing stack of Heroku, and receive web traffic when deployed.
上传应用

打开 Git Bash ,输入:

$ git init
$ git add .
$ git commit -m "init"
$ git remote add heroku git@heroku.com:yourAppName.git
注意:将 yourAppName 修改为你自己的应用名。

在 push 到 heroku 服务器之前,我们还需要做一个工作。由于我国某些政策的原因,我们需到 ~/.ssh/ 目录下,新建一个 config 文件,内容如下:

Host heroku.com
User yourName
Hostname 107.21.95.3
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
port 22
然后回到 Git Bash ,输入:

$ git push heroku master
稍等片刻即上传成功。

由于我绑定的是github帐号,那么部署就非常简单只要绑定我的项目,运行部署就行了。
现在打开博客看看吧

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复