nodejs搭建本地服务器
1. nodejs搭建服务器运行php
nodejs其实是非常底层的,从功能上说,它既是apache也是php。像搭建http服务器这种功能,本来是apache已经封装好的,但nodejs需要我们手动来搭建。其实在实际应用中,我们可以使用现成的框架。但这里,我想手动搭建,也加深一下对http服务器的理解。
我们node执行下面这个文件,我命名为http.js,它将创建一个httpServer并监听3000端口。
2. 如何用nodejs搭建web服务器
您好 很高兴为您解答:
这个web服务器包括三块,app.js是程序入口,负责响应url请求;route.js是路由,用来分发处理复杂的业务逻辑;system.js是配置文件,用来配置服务器参数,如host、port等
首先来看app.js,引用模块,http处理url请求,url用来解析请求参数和路径,path只是用来匹配路径的扩展名o(╯□╰)o,fs用来读取本地静态文件,剩下两个模块后面详解。
接下来正式创建服务器处理请求,请求大致分两类,一类是静态文件,如xxx.html、xxx.js等等,另一类是进行业务处理,如常见的增删查改操作,这一部分操作交给路由处理,这里用了一个简单的判断逻辑:通过后缀名,后缀名在system.js中配置。
读取本地文件的时候要注意一点,那就是缓存。如果客户端发出重复请求,服务器需要判断文件自上次请求后是否发生了修改,如果未修改返回304,这样可以加快浏览器端的响应速度。这里的判断方式是通过判断请求的header的if-modified-since时间和本地文件修改时间是否一致,如果一致则返回304,否则重置该时间,第一张图是代码,第二张图是通过chrome调试工具看到的请求头部时间。
如果需要进行业务处理,则交给路由处理了。首先路由引入具体的业务逻辑模块,然后通过解析具体的路径名来执行具体的业务逻辑,这里注意的是:由于node.js的并发特性,记得传入回调函数来获得相应的处理结果。
望采纳 谢谢
3. 如何使用nodejs快速搭建本地服务器
方法/步骤
1如果电脑没有安装nodejs的同学可以先到node官方下载并安装好node程序。
安装好nodejs后验证一下是否安装成功!如果出现则表明node已经承装安装上去了!
2安装好node之后打开cmd 输入 npm install anywhere -g 安装anywhere ,然后等待直到出现以下界面。
3以上两个步骤都就绪以后,万事俱备,只欠东风啦!在cmd页面 找到你想搭建服务器的路径,然后再当前路径下输入: anywhere 8860
然后浏览器就自动打开本地访问网址,一个简单的node服务器就这样被我们搭建好啦!
4. 如何搭建简单的nodejs服务器
//请求模块
varlibHttp=require("http");//HTTP协议模块
varurl=require("url")
//Web服务器主函数,解析请求,返回Web内容
varfunWebSvr=function(req,res){
varresult="Hellonodejs";
res.writeHead(200,{"Content-Type":"text/html"});
res.write(result);
res.end();
}
//创建一个http服务器
varwebSvr=libHttp.createServer(funWebSvr);
//开始侦听8888端口
webSvr.listen(8888);
5. 如何在node.js搭建服务器
准备
首先,需要安装nodejs,这个可以去官网下载,目前我本地安装的v0.12版本。
安装完成后可以通过命令行测试安装是否成功,输入:node -v,应该会显示当前安装node版本号。
本文中用到的模块,都是nodejs核心模块,不需要从外部下载,如果有需要,可以使用以下命令安装:npm install xxx。
开始
下一步,新建js文件,可以命名为server.js,代码如下:
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var dir, arg = process.argv[2] || ''; // 命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称
// 比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级
// 且你想以debug文件夹启动web服务
http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname;
dir = dir ? dir : pathname; // 记住dir(目录)
pathname = dir ? pathname.replace(dir, dir + arg + '/') : pathname; // 替换文件静态路径
if (path.extname(pathname) == "") {
pathname += "/";
}
if (pathname.charAt(pathname.length - 1) == "/") {
pathname += "index.html"; // 入口文件,此处默认index.html
}
fs.exists(pathname, function (exists) {
if (exists) {
switch (path.extname(pathname)) {
case ".html":
res.writeHead(200, {"Content-Type": "text/html"});
break;
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
break;
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
break;
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
break;
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
break;
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
break;
default:
res.writeHead(200, {"Content-Type": "application/octet-stream"});
}
// res可以自己添加信息来简单交互 比如可以修改点header信息 或者修改返回的资源数据
fs.readFile(pathname, function (err, data) {
res.end(data);
});
}
else {
res.writeHead(404, {"Content-Type": "text/html"});
res.end("<h1>404 Not Found</h1>");
}
});
}).listen(8085, "127.0.0.5"); // 服务器端口
console.log("server running at http://127.0.0.5:8085/");
启动
当node安装完成及上述server.js文件也新建好之后。将其与你要访问的文件夹放在一起,可以放同层或者直接下层。比如,如果你要访问d:\test\debug文件夹。
你可以先将当前文件放入同层或者直接下,然后输入如下命令启动web服务:
先打开`cmd`,进入server文件所在目录,比如是`test`目录;
然后输入:`node server debug`(同层), 或者`node server`(子层),
此时会提示`server running at http://127.0.0.5:8085/`, 表示启动服务成功;
最后打开浏览器,进入:`127.0.0.5:8085`,即可访问此资源。
最后
简单解释下上面的代码。
首先最上面的require表示需要用到那几个模块,先引用一下;
arg表示输入的命令行的第三个参数,上面是做了手动截取;
createServer方法表示创建一个http服务,以函数为参数,本文代码中传入了一个匿名函数;
req,表示http request(请求)对象,其携带着来自客户端此次http请求的相关信息,例如请求method、请求query参数、请求header头信息等;
res,表示http response(返回)对象,用来给客户端返回请求资源用,可以手动添加信息,例如返回的数据、返回的头信息等、返回的code等;
fs,表示文件资源对象,具体可以访问nodejs官网的api;
path,表示资源路径对象,具体可以访问nodejs官网的api。
listen表示创建的服务监听,一旦访问了此端口,将进入此前的匿名函数回调中,将资源返回给客户端。
6. 如何使用nodejs搭建服务器
方法/步骤
1如果电脑没有安装nodejs的同学可以先到node官方下载并安装好node程序。
安装好nodejs后验证一下是否安装成功!如果出现则表明node已经承装安装上去了!
2安装好node之后打开cmd 输入 npm install anywhere -g 安装anywhere ,然后等待直到出现以下界面。
3以上两个步骤都就绪以后,万事俱备,只欠东风啦!在cmd页面 找到你想搭建服务器的路径,然后再当前路径下输入: anywhere 8860
然后浏览器就自动打开本地访问网址,一个简单的node服务器就这样被我们搭建好啦!
http://jingyan..com/article/19020a0a02ff67529c28425f.html
7. 如何使用nodejs搭建一个服务器
使用node搭建一个服务器:
//1、引入模块 使用的http服务协议是RFC2616 nodejs的作者已经写好了,直接引入就行
var http = require('http');
//引入文件读写模块fs
var fs = require('fs');
//2、创建服务器 函数的参数req是发送给服务器的请求,res是服务器的相应
var httpObj = http.createServer(function(req,res){
//编写url 其中index.html是要服务器读取的文件
var url = req.url=='/'?'index.html':req.url;
//开始文件读取,参数分别是完整的url 编码 和读取完毕执行的函数,注意前后台编码需要一致
fs.readFile('www/'+url,'utf-8',function(err,data){
//res.write服务器的相应,当成功的时候,服务器会传输一个data数据,相应结束需要end
if(err){
res.write('404,您访问的页面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
});
//监听端口
httpObj.listen(80);
8. nodejs 如何部署到服务器上
跟你在本地开发是相同的。
1、安装指定版本的node.js(服务器基本软件的安装)
2、上传代码到服务器(可以通过ftp、ssh、git等方式)
3、安装项目依赖的模块
>npminstall
4、启动应用(也可以通过forever、pm2等工具进行管理)
>node./www/bin
当然,如果你深谙运维之道,可以直接通过docker等方案将运行环境容容器化。
基本的linux运维知识的话可以参考linuxprobe.com。
还有几个需要注意的点:
1、运行权限:注意做好应用之间的隔离(使用低权限用户、文件系统隔离等),避免应用崩溃导致系统宕机等风险
2、80端口:通过nginx等进行反向代理,应用本身占用1024后的端口(无需root权限)