Browsing "node.js"
Mar 4, 2013 - linux, node.js    No Comments

apache 配置反向代理

nodejs启动后的端口一般都是3000,这就导致了浏览器里一定要输入端口号,略显麻烦,解决方法就是配置apache反向代理。

$ vim /etc/httpd/conf/httpd.conf

首先检查:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

这两个apache模块是否启用。我的Centos6.3是默认已经启用了的。

然后在最后添加配置:

<IfModule mod_proxy.c>
ProxyRequests off
<Proxy /nj>
   Order deny,allow
   Allow from all
</Proxy>
ProxyPass /nj http://192.168.88.142:3000
ProxyPassReverse /nj http://192.168.88.142:3000
</IfModule>

重启apache后就可以通过

http://192.168.88.142/nj
来访问
http://192.168.88.142:3000
的数据了

Feb 7, 2013 - linux, node.js    No Comments

Centos6.3安装Python-2.7.3和Nodejs-0.8.18和npm

由于node.js的最新版本都要求python的版本在2.7以上,所以要先升级python。查看一下现有python的版本

python -v

可以看出,Centos5.6的python版本是2.6,ctrl+d 退出python。

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar xjf Python-2.7.3.tar.bz2

因为安装node.js需要用到bz2,所以先手动安装bz2库

sudo yum install -y bzip2*   
cd Python-2.7.3/Modules/zlib  
./configure   
make  
sudo make install

Screen Shot 2013-02-07 at 11.08.44 AM
Read more »

Sep 18, 2012 - node.js    1 Comment

Node.js Express.js 学习笔记(3)

在Express.js 2.x的版本中一直存在着一个叫layout.ejs的页面布局模板,他的基本代码如下:

<!DOCTYPE html>
<html>
	<head>
		<title><%= title %></title>
		<link rel='stylesheet' href='/stylesheets/style.css' />
	</head>
	<body>
		<%- body %>
	</body>
</html>

Read more »

Sep 13, 2012 - node.js    No Comments

Node.js Express.js 学习笔记(2)

动态路由的匹配,假设我们有这样一根路径 /user/[username], 每次输入的username都不一样,我们要在页面上打出不同的用户名。
在app.js添加以下代码:

app.get('/user/:username', function(req,res){
  res.send('username: ' + req.params.username);
});

启动app.js, 访问 http://127.0.0.1:3000/user/aresli,
可以看到页面上出现了 username: aresli

这样的代码明显耦合度太高,不便于维护。也没有用到模板。一看就是屌丝代码。把这段代码改成高帅富专用的模板引擎。
app.js里改成:
Read more »

Sep 10, 2012 - node.js    No Comments

Node.js Express.js 学习笔记(1)

先来看一下生成的app.js的代码,这是项目的入口:

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('your secret here'));
  app.use(express.session());
  app.use(app.router);
  app.use(require('stylus').middleware(__dirname + '/public'));
  app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

Read more »

Pages:12»