导航:首页 > IDC知识 > nodejs是服务器吗

nodejs是服务器吗

发布时间:2020-10-13 08:31:17

1、nodejs 静态服务器和http服务器有什么区别

参考cnodejs.org上面的静态服务器例子,写了下面的一个nodejs静态服务器例子,里面包含cache,压缩,贴代码如下

/**
* 静态文件服务器测试例子
* User: xuwm
* Date: 13-5-17
* Time: 上午8:38
* To change this template use File | Settings | File Templates.
*/
var port=3333;
var http = require("http");
var url = require("url");
var fs = require("fs");
var path = require("path");
var mime = require("./mime").types;
var config = require("./config");
var zlib = require("zlib");
//创建http服务端
var server=http.createServer(function(request,response){
var obj= url.parse(request.url);
response.setHeader("Server","Node/V8");
console.log(obj);
var pathname=obj.pathname;
if(pathname.slice(-1)==="/"){
pathname=pathname+config.Welcome.file; //默认取当前默认下的index.html
}
var realPath = path.join("assets", path.normalize(pathname.replace(/\.\./g, "")));
console.log(realPath) ;
var pathHandle=function(realPath){
//用fs.stat方法获取文件
fs.stat(realPath,function(err,stats){
if(err){
response.writeHead(404,"not found",{'Content-Type':'text/plain'});
response.write("the request "+realPath+" is not found");
response.end();
}else{
if(stats.isDirectory()){
}else{
var ext = path.extname(realPath);
ext = ext ? ext.slice(1) : 'unknown';
var contentType = mime[ext] || "text/plain";
response.setHeader("Content-Type", contentType);

var lastModified = stats.mtime.toUTCString();
var ifModifiedSince = "If-Modified-Since".toLowerCase();
response.setHeader("Last-Modified", lastModified);

if (ext.match(config.Expires.fileMatch)) {
var expires = new Date();
expires.setTime(expires.getTime() + config.Expires.maxAge * 1000);
response.setHeader("Expires", expires.toUTCString());
response.setHeader("Cache-Control", "max-age=" + config.Expires.maxAge);
}

if (request.headers[ifModifiedSince] && lastModified == request.headers[ifModifiedSince]) {
console.log("从浏览器cache里取")
response.writeHead(304, "Not Modified");
response.end();
} else {
var raw = fs.createReadStream(realPath);
var acceptEncoding = request.headers['accept-encoding'] || "";
var matched = ext.match(config.Compress.match);

if (matched && acceptEncoding.match(/\bgzip\b/)) {
response.writeHead(200, "Ok", {'Content-Encoding': 'gzip'});
raw.pipe(zlib.createGzip()).pipe(response);
} else if (matched && acceptEncoding.match(/\bdeflate\b/)) {
response.writeHead(200, "Ok", {'Content-Encoding': 'deflate'});
raw.pipe(zlib.createDeflate()).pipe(response);
} else {
response.writeHead(200, "Ok");
raw.pipe(response);
}
}
}
}
});

}
pathHandle(realPath);
});
server.listen(port);
console.log("http server run in port:"+port);

首先需要在JS文件里创建一个assets的文件夹,里面放入你要浏览的静态文件,比如,index.html,demo.js等。
运行方式为:在命令行里切换到上面的JS的文件目录,然后输入 node JS文件名

2、有人用nodejs做流媒体服务器吗

倒是不用全部都自己重写,媒体解析这块node有现成的库 ,可以去搜搜看node ffmpeg,用别人封装好的ffmpeg来解析,但是在流媒体协议层这一块好像我没有搜到node关于rtmp的封装,不过现成的流媒体服务器可能有,实在不行就可能需要手动造轮子自己去给node封装rtmp了
不过最好还是不要用node直接处理流媒体处理和传输这一块,拿node来处理请求在把请求转给后台的流媒体服务器可能更好吧

3、nodejs可以做服务端吗

Nodejs可以做服务器,只不过,不适用于大量计算和图形计算的服务器。
但是适合做中间件。

4、nodejs 如何部署到服务器上?

两点:第一是否是线上服务,第二是否需要守护进程;
第一点,如果是线上服务,毫无疑问需要一个守护进程来保证,发生意外导致进程退出后,能重新启动,提供服务;当然就需要pm2等守护进程来启动,使用方法请自行参照github;第二点,是否需要守护进程,如果不需要,那么直接node启动即可;如果需要,也不必担心pm2启动进程后并不会抢占服务器资源,如果你的server有很大的需求,毋庸置疑需要更多的内存和cpu,如果没有很大需求,pm2会基于linux的资源调度策略,并不会抢占;

5、用nodejs搭建服务器有什么坏处

一般只问好处,没听说过要找坏处的。
使用Node.js搭建Web服务器是学习Node.js比较全面的入门学习了。
因为实现Web服务器需要用到几个比较重要的模块:http模块、文件系统、url解析模块、路径解析模块、以及301重定向技术等。

6、nodejs写服务器怎么样

<

7、nodejs怎么实现服务器与服务器

var http = require("http"); var url = require("url"); http.createServer(function (req, res) { var urlObj = url.parse(req.url, true); // 获取中国 URL var urlToProxy = urlObj.query.url; if (!urlToProxy) { res.statusCode = 四00; res.end("URL 必须"); } else { console.log("处理中国请求:" + urlToProxy); var parsedUrl = url.parse(urlToProxy); var opt = { host : parsedUrl.hostname, port : parsedUrl.port || 吧0, path : (parsedUrl.pathname || "") + (parsedUrl.search || "") + (parsedUrl.hash || "") }; http.get(opt, function(pres) { // 请求中国 URL 内容 res.statusCode = pres.statusCode; var headers = pres.headers; for (var key in headers) { res.setHeader(key, headers[key]); } pres.on("data", function(chunk) { res.write(chunk); // 写数据 }); pres.on("end", function() { res.end(); }); }); } }).listen(吧0吧吧, "一二漆.0.0.一"); console.log("中国服务器已经 吧0吧吧 端口启"); 整中国服务器实现比较简单首先通 http 模块 createServer() 用创建 HTTP 服务器再通 listen() 让该 HTTP 服务器特定端口监听 createServer() 传入参数 HTTP 请求响应实际每 HTTP 请求都应于 HTTP 服务器 request 事

8、nodejs写服务端怎么样

1. 使用nodejs做底层,javascript编写逻辑代码能很大程度上提高开发效率。
2. 无需编译,修改完直接回启动运行,非常迅速答
3. nodejs大而全的底层库,以及海量的优秀插件能大大简化开发流程。
4. 与nosql数据库完美结合。
5. 可包揽服务器架构中的方方面面。
6. javascript热更新非常方便。

缺点:
1. 有句话是这么说的:“动态类型一时爽,代码重构火葬场。”
2. 好用的IDE比较缺乏。
3. 无法直接进行多线程编程。

个人认为强类型语言更适合做游戏服务器开发。

9、用nodejs做后台的网站要用什么服务器和数据库?

nodejs一般用于高并发后台程序,单线程
事件驱动,V8引擎
都很牛X,你要是自己玩,起码用mysql
或者mysql,如果是大型项目
就是oracle了,我个人在本机上玩
用mysql,效果还可以

与nodejs是服务器吗相关的知识