将应用npm管理的node.js项目部署到vCloudLabs

将使用npm管理的node.js项目部署到vCloudLabs

vCloudLabs是WMWare提供的云计算服务器,类似Heroku,可以将自己做的应用上传到服其上.详细介绍可以看如下帖子

http://www.iteye.com/topic/1112440

 

开发库支持: Grails, Rails3.1(with ruby1.9.2), node.js

数据库:  MySql, MongoDB, Redis

 

准备vmc环境前提:

1. 申请vmc帐号

2. 安装vmc gems

3. 登录vmc


将应用npm管理的node.js项目部署到vCloudLabs

 

node + npm 准备

1. 安装node.js

2. 安装npm(类似ruby中的 gems)

3. 安装Express

npm install -g express

#注意, 这里需要添加 -g 参数, 将Express安装成全局module.


将应用npm管理的node.js项目部署到vCloudLabs

 

 

使用Express创建node.js项目:

 

1. 创建Express项目

$ express vmcapp

 

   create : vmcapp
   create : vmcapp/package.json
   create : vmcapp/app.js
   create : vmcapp/public/javascripts
   create : vmcapp/public/images
   create : vmcapp/public/stylesheets
   create : vmcapp/public/stylesheets/style.css
   create : vmcapp/views
   create : vmcapp/views/layout.jade
   create : vmcapp/views/index.jade

 

2. 安装项目依赖:

  $ cd vmcapp

$ npm install

 

jade@0.15.2 ./node_modules/jade 
├── mkdirp@0.0.6
└── commander@0.1.0
express@2.4.6 ./node_modules/express 
├── mime@1.2.2
├── qs@0.3.1
└── connect@1.6.4

 

3. 查看项目目录结构

$ tree -L 2


将应用npm管理的node.js项目部署到vCloudLabs

 

4. 运行程序

$ node app.js

 

修改node.js配置

1. 修改 package.json:

 

{ 
    "name": "vmcapp" , 
    "version": "0.0.1" , 
    "private": true , 
    "dependencies": {
        "express": "2.4.6" , 
        "jade": ">= 0.0.1" 
    } 
}
 

2. 修改app.js:

1). 添加npm安装到本地的modules的依赖

require.paths.unshift('./mode_modules');

2). 添加vmc支持的端口号

app.listen(process.env.VMC_APP_PORT || 3000);

3). 修更改后的app.js应为如下这样

require.paths.unshift('./node_modules')

var app = require('express').createServer();

app.get('/', function(req, res){
    res.send('hello world test using express and npm');
});

app.listen(process.env.VMC_APP_PORT || 3000);

 

 

上传应用到vmc服务器:

1. 新添加项目:

$ vmc push

# 根据向导一步一步进行即可

 

2. 更新项目

$ vmc update vmcapp --path .

 

参考资料:

  1. VMware Cloud Foundry介绍: http://www.infoq.com/cn/news/2011/04/VMWare-Cloud-Foundry
  2. VMC用户指南, 内容见附件: <Getting_Started_With_VMware_Cloud_Foundry_using_vmc_u3.pdf>
  3. Deloying a Node.js app with NPM: http://support.cloudfoundry.com/entries/505133-deploying-a-node-js-app-with-npm-dependencies
  4. Node.js中文社区: http://cnodejs.org/
  5. Express Screencasts: http://expressjs.com/screencasts.html

 

 

1 楼 at1943 2011-11-20  
Cloud Foundry需要邀请码,哥们有吗?
site:http://www.noday.net
2 楼 witcheryne 2011-11-22  
at1943 写道
Cloud Foundry需要邀请码,哥们有吗?
site:http://www.noday.net

邀请吗不是必填项, 先留邮件去申请账户。
申请共过后,会给你发注册链接