初学者玩云计算之六:Ubuntu Server 12.10 下安装 nodejs, zeromq
菜鸟玩云计算之六:Ubuntu Server 12.10 上安装 nodejs, zeromqUbuntu Server 12.10 上安装 python, nodejs
菜鸟玩云计算之六:Ubuntu Server 12.10 上安装 nodejs, zeromq
Ubuntu Server 12.10 上安装 python, nodejs, zeromq
nodejs是一个基于google v8+javascript的服务端编程框架。对于搞云计算,用nj来做系统管理Web站点是非常合适的。理由是:
a.足够简单。
b.足够快。
c.足够小巧。
d.前后端一致性。
下面是安装步骤:
1 首先确保系统安装了python, gcc, g++,如果没有则安装:$ sudo apt-get install python
$ sudo apt-get install build-essential
$ sudo apt-get install gcc
$ sudo apt-get install g++
2 安装 python bindings
2.1 安装python自动安装工具: easy_install$ sudo apt-get install python-setuptools
2.2 安装python的编译环境$ sudo apt-get install python-dev
2.3 安装 pythong zmq 的 binding:$ sudo easy_install pyzmq
3 下载最新版源代码包:node-v0.8.14.tar.gz
3.1 解压:$ sudo tar -zxf node-v0.8.14.tar.gz
$ cd node-v0.8.14
3.2 默认方式安装:
$ ./configure
$ make
$ sudo make install
3.3 选择目录方式安装:$ ./configure --prefix=/opt/node
$ make -j 3 # 3=CPU核数+1
$ sudo make install
安装结束后, 用下面的命令检查安装的版本:
$ node --version
v0.8.14
3.4 接下来参考下面的文章开始你的nodejs编程之旅吧:
http://www.nodebeginner.org/index-zh-cn.html#a-full-blown-web-application-with-nodejs
4 zeromq
zmq 是一个基于c的消息队列编程框架。zeromq用处很多, 它具有:
a.足够简单。
b.足够快。
c.足够小巧。
等优点. 下面是安装步骤:
4.1 下载: zero-3.2.1http://www.zeromq.org/
$ tar -xzf zeromq-3.2.1.tar.gz
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig
4.2 下面写一个c的客户端mqclient.c和一个服务端mqserver.c测试:
############################################################## mqsub.py# Weather update client# Connects SUB socket to tcp://localhost:5556# Collects weather updates and finds avg temp in zipcode#############################################################import sysimport zmq# Socket to talk to servercontext = zmq.Context()socket = context.socket(zmq.SUB)print "Collecting updates from weather server"socket.connect ("tcp://localhost:5556")# Subscribe to zipcode, default is NYC, 10001zip_filter = sys.argv[1] if len(sys.argv) > 1 else "10001"socket.setsockopt(zmq.SUBSCRIBE, zip_filter)# Process 5 updatestotal_temp = 0for update_nbr in range (5): string = socket.recv() zipcode, temperature, relhumidity = string.split() total_temp += int(temperature)print "Average temperature for zipcode '%s' was %dF" % (zip_filter, total_temp / update_nbr)
5.3 打开2个终端,分别运行:
$ python ./mqpub.py
$ python ./mqsub.py