欢迎光临
我们一直在努力

在腾讯云(windows)上搭建node.js服务器

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" 文件,出现提示安装界面:

在腾讯云(windows)上搭建node.js服务器

第二步:选择安装目录,这里安装在目录 D:\yiibai_worksp\nodejs 中,如下图:

在腾讯云(windows)上搭建node.js服务器

第三步:选择安装的模块和功能,这里全部安装,并添加到系统环境变量,如下图所示:

在腾讯云(windows)上搭建node.js服务器

最后一步:安装完成!

在腾讯云(windows)上搭建node.js服务器

验证安装:执行文件

创建一个js文件名为test.js 在 D:\>yiibai_worksp\nodejs.

File: test.js

console.log("Hello World")

现在运行test.js看到的结果:

D:\yiibai_worksp\nodejs> node test.js 

验证输出结果:

在腾讯云(windows)上搭建node.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就可以访问到自己的内容了

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《在腾讯云(windows)上搭建node.js服务器》
文章链接:https://www.456zj.com/3229.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址