1:安装Node.js
使用MSI文件,并按照提示安装node.js,默认情况下,安装程序将 Node.js 发行到 C:\Program Files\nodejs. 但这里我们需要修改安装路径到:D:\yiibai_worksp\nodejs,并将 D:\yiibai_worksp\nodejs 目录添加到Window系统的PATH环境变量中。重新启动打开命令提示符,以使更改生效。
第一步:双击下载的 “node-v0.12.7-x64.msi" 文件,出现提示安装界面:
第二步:选择安装目录,这里安装在目录 D:\yiibai_worksp\nodejs 中,如下图:
第三步:选择安装的模块和功能,这里全部安装,并添加到系统环境变量,如下图所示:
最后一步:安装完成!
验证安装:执行文件
创建一个js文件名为test.js 在 D:\>yiibai_worksp\nodejs.
File: test.js
console.log("Hello World")
现在运行test.js看到的结果:
D:\yiibai_worksp\nodejs> node test.js
验证输出结果:
[小贴士]①:腾讯云系统默认文件后缀名是隐藏的,导致test.js可能实际上是test.js.txt;注意改掉,很关键!
②一些基本的Shell操作:1:cd..回退 2:cd hehe进入文件夹 3:node xx.js 启动文件
②搭建HTTP服务
下面是个http.js文件,node这个文件就可以启动监听
1 // 这是一个简单的Node HTTP服务器,能处理当前目录的文件 2 // 并能实现两种特殊的URL用于测试 3 // 用HTTP://localhost:8000或http://127.0.0.1:8000连接这个服务器 4 5 // 首先加载所有需要用到的模块 6 var http = require(\'http\'); // Http服务器API 7 var fs = require(\'fs\'); // 用于处理本地文件 8 var server = new http.Server(); // 创建新的HTTP服务器 9 server.listen(8000); // 监听端口8000 10 11 // 使用on方法注册时间处理 12 server.on(\'request\', function(request, response) { // 当有request请求的时候触发处理函数 13 console.log(\'request\'); 14 // 解析请求的URL 15 var url = require(\'url\').parse(request.url); 16 // 特殊URL会让服务器在发送响应前先等待 17 switch(url.pathname) { 18 case \'\'||\'/\' : // 模拟欢迎页,nodejs是高效流处理的方案,也可以通过配置文件来配置 19 fs.readFile(\'./index.html\', function(err, content){ 20 if(err) { 21 response.writeHead(404, { \'Content-Type\':\'text/plain; charset="UTF-8"\' }); 22 response.write(err.message); 23 response.end(); 24 } else { 25 response.writeHead(200, { \'Content-Type\' : \'text/html; charset=UTF-8\' }); 26 response.write(content); 27 response.end(); 28 } 29 }); 30 break; 31 case \'/test/delay\':// 此处用于模拟缓慢的网络连接 32 // 使用查询字符串来获取延迟时长,或者2000毫秒 33 var delay = parseInt(url.query) || 2000; 34 // 设置响应状态和头 35 response.writeHead(200, {\'Content-type\':\'text/plain; charset=UTF-8\'}); 36 // 立即开始编写响应主体 37 response.write(\'Sleeping for\' + delay + \' milliseconds...\'); 38 // 在之后调用的另一个函数中完成响应 39 setTimeout(function(){ 40 response.write(\'done.\'); 41 response.end(); 42 }, delay); 43 break; 44 case \'/test/mirror\':// 如果请求是test/mirror,则原文返回它 45 // 响应状态和头 46 response.writeHead(200, {\'Content-type\':\'text/plain; charset=UTF-8\'}); 47 // 用请求的内容开始编写响应主体 48 response.write(request.mothod + \' \' + request.url + \' HTTP/\' + request.httpVersion + \'\r\n\'); 49 // 所有的请求头 50 for (var h in request.headers) { 51 response.write(h + \':\' + request.headers[h] + \'\r\n\'); 52 } 53 response.write(\'\r\n\');// 使用额外的空白行来结束头 54 // 在这些事件处理程序函数中完成响应 55 // 当请求主体的数据块完成时,把其写入响应中 56 request.on(\'data\', function(chunk) { response.write(chunk); }); 57 // 当请求结束时,响应也完成 58 request.on(\'end\', function(chunk){ response.end(); }); 59 break; 60 case \'/json\' : // 模拟JSON数据返回 61 // 响应状态和头 62 response.writeHead(200, {\'Content-type\':\'application/json; charset=UTF-8\'}); 63 response.write(JSON.stringify({test:\'success\'})); 64 response.end(); 65 break; 66 default:// 处理来自本地目录的文件 67 var filename = url.pathname.substring(1); // 去掉前导\'/\' 68 var type = getType(filename.substring(filename.lastIndexOf(\'.\')+1)); 69 // 异步读取文件,并将内容作为单独的数据模块传给回调函数 70 // 对于确实很大的文件,使用流API fs.createReadStream()更好 71 fs.readFile(filename, function(err, content){ 72 if(err) { 73 response.writeHead(404, { \'Content-Type\':\'text/plain; charset="UTF-8"\' }); 74 response.write(err.message); 75 response.end(); 76 } else { 77 response.writeHead(200, { \'Content-Type\' : type }); 78 response.write(content); 79 response.end(); 80 } 81 }); 82 break; 83 } 84 85 }); 86 function getType(endTag){ 87 var type=null; 88 switch(endTag){ 89 case \'html\' : 90 case \'htm\' : 91 type = \'text/html; charset=UTF-8\'; 92 break; 93 case \'js\' : 94 type = \'application/javascript; charset="UTF-8"\'; 95 break; 96 case \'css\' : 97 type = \'text/css; charset="UTF-8"\'; 98 break; 99 case \'txt\' : 100 type = \'text/plain; charset="UTF-8"\'; 101 break; 102 case \'manifest\' : 103 type = \'text/cache-manifest; charset="UTF-8"\'; 104 break; 105 default : 106 type = \'application/octet-stream\'; 107 break; 108 } 109 return type; 110 }
③域名解析和IP绑定---腾讯云好像会自己绑好,但是域名实名认证后才可以生效。我这个认证了半个月- -
④以上步骤做完之后服务器就搭建完成了,监视的端口是8000,比如你的域名是www.hehe.com,那么你需要访问www.hehe.com:8000就可以访问到自己的内容了