您的位置:首页 > Web前端 > Node.js

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

2016-07-29 00:00 756 查看
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



node + npm 准备

1. 安装node.js

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

3. 安装Express

npm install -g express

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



使用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



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 .

参考资料:

VMware Cloud Foundry介绍: http://www.infoq.com/cn/news/2011/04/VMWare-Cloud-Foundry

VMC用户指南, 内容见附件: <Getting_Started_With_VMware_Cloud_Foundry_using_vmc_u3.pdf>

Deloying a Node.js app with NPM: http://support.cloudfoundry.com/entries/505133-deploying-a-node-js-app-with-npm-dependencies

Node.js中文社区: http://cnodejs.org/

Express Screencasts: http://expressjs.com/screencasts.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: