Welcome 微信登录

首页 / 操作系统 / Linux / Ubuntu Server 12.10 上安装 Node.js, ZeroMQ

Node.js是一个基于google v8+javascript的服务端编程框架。对于搞云计算,用Node.js,来做系统管理Web站点是非常合适的。理由是:1)足够简单。
2)足够快。
3)足够小巧。
4)前后端一致性。
好,下面是安装步骤:首先确保系统安装了python, gcc, g++,如果没有则安装:
$ sudo apt-get install python
$ sudo apt-get install build-essential
$ sudo apt-get install gcc
$ sudo apt-get install g++下载最新版源代码包:node-v0.8.14.tar.gz解压:
$ sudo tar -zxf node-v0.8.14.tar.gz
$ cd node-v0.8.14(一) 默认方式安装:$ ./configure
$ make
$ sudo make install(二) 选择目录方式安装:
$ ./configure --prefix=/opt/node
$ make -j 3   # 3=CPU核数+1
$ sudo make install安装结束后, 用下面的命令检查安装的版本:
$ node --version
v0.8.14接下来参考下面的文章开始你的nodejs编程之旅吧: http://www.linuxidc.com/Linux/2012-11/73363.htmzeromq是一个基于c的消息队列编程框架。zeromq用处很多, 它具有:1)足够简单。
2)足够快。
3)足够小巧。
等优点. 下面是安装步骤:下载: zero-3.2.1
http://www.zeromq.org/$ tar -xzf zeromq-3.2.1.tar.gz
$ ./configure
$ make
$ sudo make install
$ sudo ldconfig下面写一个客户端和一个服务端测试:mqclient.c
  1. //  
  2. // Hello World client  
  • // Connects REQ socket to tcp://localhost:5555  
  • // Sends "Hello" to server, expects "World" back  
  • //  
  • #include <zmq.h>  
  • #include <string.h>  
  • #include <stdio.h>  
  • #include <unistd.h>  
  •  
  • int main (void) 
  •     void *context = zmq_ctx_new (); 
  •  
  •     // Socket to talk to server  
  •     printf ("Connecting to hello world server… "); 
  •     void *requester = zmq_socket (context, ZMQ_REQ); 
  •     zmq_connect (requester, "tcp://localhost:5555"); 
  •  
  •     int request_nbr; 
  •     for (request_nbr = 0; request_nbr != 10; request_nbr++) { 
  •         zmq_msg_t request; 
  •                  
  •         zmq_msg_init_data (&request, "Hello", 6, 0, 0); 
  •  
  •         printf ("Sending Hello %d… ", request_nbr); 
  •         zmq_msg_send (&request, requester, 0); 
  •         zmq_msg_close (&request); 
  •                 printf ("prepare recv message "); 
  •  
  •         zmq_msg_t reply; 
  •         zmq_msg_init (&reply); 
  •         if (-1==zmq_msg_recv (&reply, requester, 0)) { 
  •             printf("recv data error. "); 
  •         } 
  •         printf ("Received World %d ", request_nbr); 
  •         zmq_msg_close (&reply); 
  •     } 
  •     zmq_close (requester); 
  •     zmq_ctx_destroy (context); 
  •     return 0; 
mqserver.c
  1. //  
  2. // Hello World server  
  3. // Binds REP socket to tcp://*:5555  
  4. // Expects "Hello" from client, replies with "World"  
  5. //  
  6. #include <zmq.h>  
  7. #include <stdio.h>  
  8. #include <unistd.h>  
  9. #include <string.h>  
  10.  
  11. int main (void) 
  12.         int ret; 
  13.         char buf[5]="world"; 
  14.         buf[5] = 0; 
  15.     void *context = zmq_ctx_new (); 
  16.  
  17.     // Socket to talk to clients  
  18.     void *responder = zmq_socket (context, ZMQ_REP); 
  19.     ret = zmq_bind (responder, "tcp://*:5555"); 
  20.         if (ret==0) { 
  21.         printf("zmq_bind success "); 
  22.     } else { 
  23.         printf("zmq_bind error=%d:%s ", ret, strerror(errno)); 
  24.         exit(ret); 
  25.         } 
  26.     while (1==1) { 
  27.         // Wait for next request from client  
  28.                 printf("wait for clients... "); 
  29.         zmq_msg_t request; 
  30.         zmq_msg_init (&request); 
  31.         ret = zmq_msg_recv (&request, responder, 0); 
  32.         printf ("Received=%d ", ret); 
  33.         zmq_msg_close (&request); 
  34.  
  35.         // Do some "work"  
  36.         sleep (1); 
  37.  
  38.         // Send reply back to client  
  39.         zmq_msg_t reply; 
  40.         zmq_msg_init_data (&reply, buf, 6, 0, 0); 
  41.         ret = zmq_msg_send (&reply, responder, 0); 
  42.                 printf("zmq_msg_send ret=%d ", ret); 
  43.         zmq_msg_close (&reply); 
  44.     } 
  45.     // We never get here but if we did, this would be how we end  
  46.     zmq_close (responder); 
  47.     zmq_ctx_destroy (context); 
  48.     return 0; 
下面是编译命令:
$ gcc mqclient.c -o mqclnt -lzmq
$ gcc mqserver.c -o mqsrvr -lzmq运行:
$ ./mqsrvr &
$ ./mqclnt结束!Node.js入门开发指南中文版Ubuntu ssh 无密码登录相关资讯      ZeroMQ  Node.js  Ubuntu安装Node.js  Ubuntu安装ZeroMQ 
  • Node.js v7 Beta版引入citgm  (今 10:08)
  • 基于Docker部署Node.js应用环境  (09月26日)
  • Node.js v4.4.5发布下载  (05月25日)
  • Node.js HTTP Web 服务器代码  (09月26日)
  • Ubuntu 16.04 64位 搭建 Node.js   (09月25日)
  • 为什么我从 Python 转战到 Node.js  (05月17日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数