如何用nodejs搭建web服务器

如何用nodejs搭建web服务器,第1张

使用Nodejs搭建Web服务器是学习Nodejs比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:>

作为一个Web服务器应具备以下几个功能:

1、能显示以html/htm结尾的Web页面

2、能直接打开以js/css/json/text结尾的文件内容

3、显示资源

4、自动下载以apk/docx/zip结尾的文件

5、形如>

6、形如>

引入需要用到的几个模块:


//>
//创建一个服务var ]");});

在创建服务的时候需要传递一个匿名函数processRequest 对请求进行处理,processRequest接收2个参数,分别是request和response, request对象中包含了请求的所有内容,response是用来设置响应头以及对客户端做出响应 *** 作。


processRequest:function(request,response){    var hasExt = true;    var requestUrl = requesturl;    var pathName = urlparse(requestUrl)pathname;     //对请求的路径进行解码,防止中文乱码    pathName = decodeURI(pathName);     //如果路径中没有扩展名    if(pathextname(pathName) === ''){        //如果不是以/结尾的,加/并作301重定向        if (pathNamecharAt(pathNamelength-1) != "/"){            pathName += "/";            var redirect = ");            }        }    });}

请求处理函数中有几个重点需要说一下:

对于路径中有中文的,浏览器会自动进行编码(英文不变,中文会变),因此在接收到地址后,需要对地址进行解码,否则最后得到的路径和真实路径不相符,

当访问路径不是以具体的文件结尾,并且不是以/结尾,则需要通过重定向加上/,表示当前目录,否则当前路径下的静态资源会找不到

如果访问路径是目录,则列出该目录下所有文件及文件夹,并可以点击访问,为了让中文目录能正常显示,则还要在header中设置charset=utf-8

核心代码就这么多,大概140行左右,完整的代码已上传到github:>

如果要运行demo,打开cmd切换到根目录,运行node start 即可。

你可以通过运行以下命令
1

sudo yum install epel-release
现在可以使用yum命令安装Nodejs了。
1

sudo yum install nodejs
因为在开发过程中我需要管理节点包,我还要安装新公共管理的软件包管理器,使用以下命令。
1

sudo yum install npm

一、NodeJS介绍:NodeJS是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。在这篇文章中,我们将向您介绍如何在Ubuntu1404服务器上开始您的NodeJS神奇之旅。二、如何安装发行稳定版的NodeJSUbuntu1404为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为01025的NodeJS,这个可能不是最新版本,但是却一定是标准发行版本。要想获取这个版本的NodeJS,我们只要通过apt包管理工具来安装就可以。在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装NodeJS。sudoapt-getupdatesudoapt-getinstallnodejs如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu1004下安装NodeJS的全部 *** 作过程。大多数情况下,我们还希望也安装一份NodeJS的包管理工具:npm,您可以通过以下命令安装:sudoapt-getinstallnpmNPM将让使得安装NodeJS的模块或者源码包变得非常简单。在您运行NodeJS的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。下面,我们将讨论NodeJS种灵活的安装方式。三、如何通过PPA来安装NodeJS?一个让你可以保持获得NodeJS最新版本的替代方案是加入由NodeSource维护的PPA(PersonalPackageArchive)私有包档案。这个方式可以让你获得比Ubuntu仓库的NodeJS版本。首先:你得安装PPA以获得访问它内容的权限。

第一步:下载安装文件

下载nodejs

第二步:安装nodejs

下载完成之后,双击"node-v01028-x86msi",开始安装nodejs,自定义安装在D:\dev\nodejs下面。

在cmd控制台输入:node -v,控制台将打印出:v01028,出现版本提示表示安装成功。
该引导步骤会将nodeexe文件安装到D:\dev\nodejs\目录下,并将该目录添加进PATH环境变量。

第三步:npm安装

由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行输入"npm -v"来测试是否成功安装。如下图,出现版本提示表示安装成功。

常规NodeJS的搭建到现在为止已经完成了,急不及待的话你可以在”cmd“输入”node“进入node开发模式下,输入你的NodeJS第一句:”hello world“ - 输入:consolelog('hello world')。

第四步:安装相关环境

我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在NodeJS的主目录下,便在NodeJs下建立"node_global"及"node_cache"两个文件夹。如下图:

启动cmd,输入:

npm
config set prefix"C:\Program
Files\nodejs\node_global"
以及
npm configset
cache"C:\Program Files\nodejs\node_cache"

现在可以安装模块了:

npm install express -g
npm install jade -g
npm install mysql -g

默认情况下上述组件都是安装在C:\Program
Files\nodejs\node_global文件夹下,默认为C:\Program Files\nodejs\node_modules文件夹下,这也是nodejs相关组件的自动查找路径。

备注:安装模块会卡住可能是由于国内的限制。

关闭cmd,打开系统对话框,“我的电脑”右键“属性”-“高级系统设置”-“高级”-“环境变量”。如下图:

进入环境变量对话框,在系统变量下新建"NODE_PATH",输入”C:\Program Files\nodejs\node_global\node_modules“。(ps:这一步相当关键。)

由于改变了module的默认地址,所以上面的用户变量都要跟着改变一下(用户变量"PATH"修改为“C:\Program Files\nodejs\node_global\”),要不使用module的时候会导致输入命令出现“xxx不是内部或外部命令,也不是可运行的程序或批处理文件”这个错误。

以上步骤都OK的话,我们可以再次开启cmd命令行,进入node,输入“require('express')”来测试下node的模块全局路径是否配置正确了。正确的话cmd会列出express的相关信息。如下图(如出错一般都是NODE_PATH的配置不对,可以检查下。

补充说明:
所有命令都是-g进行全局安装的,这样安装的安装包都在当前用户下,在磁盘的所有其他地方都可以访问到,比较方面。否则安装在当前目录下,只能在当前目录下使用。

安装express问题
安装nodejs安装包后,通过npm安装express后,运行express提示" express"不是内部或外部命令,原因是版本问题,当前版本是400,改成350即可运行。
$ npm install -g express@350


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10749362.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存