使用heroku部署nodejs应用

开发环境在ubuntu10.04下。

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

$ gem -v
1.3.7

$ node -v
v0.4.9

$ npm -v
1.0.15

$ git
....

确保以上软件安装完成。可参考如下文章。

Ubuntu 10.04安装ruby1.9.2和rail3.0.1

Ubuntu下安装nodeJS

npm

Set Up Git

准备工作尚未完成,还要到heroku官方注册账户,Sign Up

下面要安装heroku软件包,推荐使用gem来安装。

$ gem install heroku
$ heroku version
heroku-gem/2.3.6

如果执行heroku命令的时候,终端报错,找不到该命令,这是因为heroku不在环境变量里,还要执行下面的步骤。

$ gem environment
......
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.9.1
......
$ export PATH=/usr/local/lib/ruby/gems/1.9.1:$PATH

准备工作基本完成。下面开始创建nodejs应用。打开ubuntu的终端控制台,执行

$ mkdir node_app
$ cd node_app
$ gedit web.js

然后将下面的内容拷贝到你所创建的web.js文件里。

// filename web.js
var express = require('express');

var app = express.createServer(express.logger());

app.get('/', function(request, response) {
  response.send('Fuck GFW!');
});

var port = process.env.PORT || 3000;
app.listen(port, function(){
  console.log("Listening on " + port);
});

主要的程序内容就包括这些。然后还要创建几个文件,主要用来配置。

$ gedit package.json

// filename package.json
{
  "name": "node-example",
  "version": "0.0.1",
  "dependencies": {
    "express": "2.2.0"
  }
}

package.json文件包含所创建应用的信息。express是基于nodejs开发的web框架,类似于ruby的sinatra。下面执行

$ npm install -d

npm执行的时候,会根据package.json文件下载安装所依赖的模块。执行结束之后会生成node_modules目录,里面就有express模块。

为了是heroku能够识别并且执行我们的应用,还需创建Procfile。

$ gedit Procfile

// Procfile
web: node web.js

以上完成了应用的基本开发。可以在本地测试一下。

$ node web.js
Listening on 1234

如果执行成功,那么就可以将应用提交到heroku去了。在提交之前,必须在本地生成公钥,因为heroku并不 知道谁,在什么地方,要提交到哪里去。

$ heroku keys:add
....

如果第一次运行,heroku提示输入邮箱和密码,并且生成公钥,上传到heroku服务器上。

下面对我们的应用生成git的版本信息。

$ git init
$ git add .
$ git commit -m 'init'

在heroku服务器上生成我们的应用。

$ heroku create  --stack cedar
......

如果不提供应用的名称,heroku会随机生成一个名字。这是可以登录我们的heroku账户,进入My Apps,就会看到应用列表了。

最后一步,将应用推送到heroku服务器上。

$ git push heroku master
......
......

这样变完成了部署应用到heroku。这时就可以在浏览器中输入heroku提供的网址,访问我们的应用了。

我的nodejs小应用http://clovery.herokuapp.com/

现在还没有评论

留下您的大名