广告
返回顶部
首页 > 资讯 > 服务器 >怎么使用Node.js搭建Web服务器
  • 710
分享到

怎么使用Node.js搭建Web服务器

2023-07-02 13:07:54 710人浏览 泡泡鱼
摘要

这篇文章主要介绍“怎么使用node.js搭建WEB服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用node.js搭建Web服务器”文章能帮助大家解决问题。1、 Node.js 创建的第一

这篇文章主要介绍“怎么使用node.js搭建WEB服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用node.js搭建Web服务器”文章能帮助大家解决问题。

1、 Node.js 创建的第一个应用

1、引入Http模块

var http = require("http");

2、 创建服务器

接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。函数通过 request, response 参数来接收和响应数据。

//1.引入 http 模块var http=require('http');//2.用 http 模块创建服务http.createServer(function(req,res){// 发送 HTTP 头部// HTTP 状态值: 200 : OK//设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf-8res.writeHead(200,{"Content-Type":"text/html;charset='utf-8'"});res.write('你好 nodejs');res.write('我是第一个 nodejs 程序');res.end(); }).listen(8001);

2、 WEB 服务器介绍

Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等 Web 客户端提供文档, 也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个 Web 服务器是 Apache 、 Nginx 、IIS。

3、 Nodejs 封装一个 WEB 服务器

启动

node start

功能

* 能显示以 `.html/.htm` 结尾的 Web 页面

* 能直接打开以 `.js/.CSS/.JSON/.text` 结尾的文件内容

* 显示图片资源

* 自动下载以 `.apk/.docx/.zip` 结尾的文件

* 形如 `http://xxx.com/a/b/` , 则查找b目录下是否有 `index.html`,如果有就显示,如果没有就列出该目录下的所有文件及文件夹,并可以进一步访问。

* 形如 `http://xxx.com/a/b`,  则作301重定向到 `http://xxx.com/a/b/` , 这样可以解决内部资源引用错位的问题。

httpserver.js

module.exports = (function () {   "use strict";   console.time('[HttpServer][Start]');   //http协议模块  var http = require('http');  //url解析模块  var url = require('url');  //文件系统模块  var fs = require("fs");  //路径解析模块  var path = require("path");   return {    //启动服务    start: function () {      var port = this.config.port;      var ip = this.config.ip;       //创建一个服务      var httpServer = http.createServer(this.processRequest.bind(this));       //在指定的端口监听服务      httpServer.listen(port, function () {        console.log("[HttpServer][Start]", "runing at http://" + ip + ":" + port + "/");        console.timeEnd("[HttpServer][Start]");      });       httpServer.on("error", function (error) {        console.error(error);      });    },         processRequest: function (request, response) {      var hasExt = true;      var requestUrl = request.url;      var pathName = url.parse(requestUrl).pathname;       //对请求的路径进行解码,防止中文乱码      pathName = decodeURI(pathName);       //如果路径中没有扩展名      if ((pathName) === '') {        //如果不是以/结尾的,加/并作301重定向        if (pathName.charAt(pathName.length - 1) != "/") {          pathName += "/";          var redirect = "http://" + request.headers.host + pathName;          response.writeHead(301, {            location: redirect          });          response.end();          return; //fix bug: 执行301重定向后应终止后续流程,以防 "write after end" 异常        }        //添加默认的访问页面,但这个页面不一定存在,后面会处理        pathName += "index.html";        hasExt = false; //标记默认页面是程序自动添加的      }       //获取资源文件的相对路径      var filePath = path.join("http/webroot", pathName);       //获取对应文件的文档类型      var contentType = this.getContentType(filePath);       //如果文件名存在      fs.exists(filePath, function (exists) {        if (exists) {          response.writeHead(200, {"content-type": contentType});          var stream = fs.createReadStream(filePath, {flags: "r", encoding: null});          stream.on("error", function () {            response.writeHead(500, {"content-type": "text/html"});            response.end("<h2>500 Server Error</h2>");          });          //返回文件内容          stream.pipe(response);        } else { //文件名不存在的情况          if (hasExt) {            //如果这个文件不是程序自动添加的,直接返回404            response.writeHead(404, {"content-type": "text/html"});            response.end("<h2>404 Not Found</h2>");          } else {            //如果文件是程序自动添加的且不存在,则表示用户希望访问的是该目录下的文件列表            var html = "<head><meta charset='utf-8'></head>";             try {              //用户访问目录              var filedir = filePath.substring(0, filePath.lastIndexOf('\\'));              //获取用户访问路径下的文件列表              var files = fs.readdirSync(filedir);              //将访问路径下的所以文件一一列举出来,并添加超链接,以便用户进一步访问              for (var i in files) {                var filename = files[i];                html += "<div><a  href='" + filename + "'>" + filename + "</a></div>";              }            } catch (e) {              html += "<h2>您访问的目录不存在</h2>"            }            response.writeHead(200, {"content-type": "text/html"});            response.end(html);          }        }      });    },         getContentType: function (filePath) {      var contentType = this.config.mime;      var ext = path.extname(filePath).substr(1);      if (contentType.hasOwnProperty(ext)) {        return contentType[ext];      } else {        return contentType.default;      }    },     ///配置信息    config: {      port: 8888,      ip: '127.0.0.1',      mime: {        html: "text/html",        js: "text/javascript",        css: "text/css",        gif: "image/gif",        jpg: "image/jpeg",        png: "image/png",        ico: "image/icon",        txt: "text/plain",        json: "application/json",        default: "application/octet-stream"      }    }  }})();

start.js

var http = require('./http/HttpServer');http.start();

关于“怎么使用Node.js搭建Web服务器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网服务器频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 怎么使用Node.js搭建Web服务器

本文链接: https://www.lsjlt.com/news/341899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Node.js搭建Web服务器
    这篇文章主要介绍“怎么使用Node.js搭建Web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Node.js搭建Web服务器”文章能帮助大家解决问题。1、 Node.js 创建的第一...
    99+
    2023-07-02
  • 使用Node.js搭建Web服务器
    1、 Node.js 创建的第一个应用 1、引入http模块 var http = require("http"); 2、 创建服务器 接下来我们使用 http.creat...
    99+
    2022-11-13
  • 怎么使用node.js搭建简单web服务器
    这篇文章主要介绍“怎么使用node.js搭建简单web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用node.js搭建简单web服务器”文章能帮助大家解决问题。准备首先,需要安装nod...
    99+
    2023-06-17
  • 阿里云服务器怎么使用node.js搭建web
    使用node.js搭建web应用有两种方式:使用Node.js:node.js是Node JavaScript库的一个扩展名,它可以用来在node.js的代码中创建Web应用。可以使用node.js的create命令创建Web应用,然后使用...
    99+
    2023-10-25
    阿里 服务器 node
  • node.js怎么搭建简单web服务器
    今天小编给大家分享一下node.js怎么搭建简单web服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-12-01
    node.js web服务器
  • 如何使用node.js搭建简单web服务器
    这篇文章给大家分享的是有关如何使用node.js搭建简单web服务器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备首先,需要安装nodejs,这个可以去官网下载,目前我本地安...
    99+
    2022-10-19
  • 怎么使用Node.js搭建HTTP服务器
    本篇内容主要讲解“怎么使用Node.js搭建HTTP服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node.js搭建HTTP服务器”吧!什么是 HTTP 服务?HTTP 协议是什么...
    99+
    2023-06-17
  • 怎么使用Golang搭建web服务
    今天小编给大家分享一下怎么使用Golang搭建web服务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们先看个例子:htt...
    99+
    2023-06-30
  • python怎么搭建web服务器
    在Python中搭建一个简单的Web服务器可以使用内置的http.server模块。下面是一个基本的示例: import http....
    99+
    2023-10-24
    python 服务器
  • win10怎么搭建web服务器
    要在Windows 10上搭建Web服务器,您可以按照以下步骤进行操作:1. 安装所需的软件:首先,您需要安装一个Web服务器软件。...
    99+
    2023-10-08
    win10
  • linux怎么搭建web服务器
    要在Linux上搭建一个Web服务器,可以按照以下步骤进行操作:1. 选择一个适合的Linux发行版,如Ubuntu、CentOS等...
    99+
    2023-09-20
    linux
  • asp怎么搭建web服务器
    要搭建ASP的Web服务器,可以按照以下步骤进行操作:1. 安装IIS(Internet Information Services)...
    99+
    2023-08-11
    asp web服务器
  • 使用node.js搭建服务器
    使用node搭建小型服务器(其实就是分析url然后输出文件给客户端) 最近需要完成一个课程设计,被项目经理(组长)分配写界面,但是总觉得只写前端的话缺了点什么,所以想自己写下后端玩一下。 期间还稍微纠结了...
    99+
    2022-06-04
    服务器 node js
  • 如何使用Node.js搭建一个静态Web服务器
    这篇文章主要介绍了如何使用Node.js搭建一个静态Web服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Node.js搭建一个静态Web服务器文章都会有所收获,下...
    99+
    2022-10-19
  • 怎么使用Node.js来搭建本地服务器
    这篇文章主要讲解了“怎么使用Node.js来搭建本地服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Node.js来搭建本地服务器”吧!1.安装Node.js首先需要安装Node...
    99+
    2023-07-05
  • Node.js怎么搭建HTTP服务器
    这篇文章主要介绍“Node.js怎么搭建HTTP服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js怎么搭建HTTP服务器”文章能帮助大家解决问题。什...
    99+
    2022-12-03
    node.js http
  • node.js怎么构建web服务器
    这篇文章主要介绍“node.js怎么构建web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js怎么构建web服务器”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • 怎么使用web服务器软件搭建网站
    使用web服务器软件搭建网站的步骤如下:1. 选择合适的web服务器软件,如Apache、Nginx、IIS等。2. 安装web服务...
    99+
    2023-06-13
    web服务器软件 web服务器 服务器
  • 个人web服务器怎么搭建
    个人web服务器搭建主要包括以下几步:1、购买服务器根据实际需求来购买合适的服务器。2、安装操作系统将操作系统安装到服务器上。3、安...
    99+
    2023-03-07
    个人web服务器 web服务器 服务器
  • 个人web服务器租用怎么搭建
    搭建个人web服务器租用需要以下步骤:1. 购买域名:首先需要购买一个域名,这是你网站的地址。可以在国内的域名注册商或国外的注册商购...
    99+
    2023-06-06
    个人web服务器 web服务器 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作