Node流操作(启动器forever)
详情:
https://www.cnblogs.com/lalalagq/p/9749680.html
流:读取流,写入流,双向读写流。
读写流——压缩、加密
数据库不能直接接受流
sf.readFile('www${pathname}',(err,buffer)=>{
res.write(buffer);
});
.占用内存;
.资源使用不均匀
const fs = require('fs);
let rs = fs.createReadStream('1.txt');
let ws = fs.createWriteStream('2.txt');
rs.pipe(ws);
rs.on('error',()=>){
console.log(err);
})
ws.on('finish',()=>{
console.log('完成');
})
Comedy:
读写流——压缩、加密
数据库不能直接接受流 const fs = require('fs);
const zilib = require('zlib'); let rs = fs.createReadStream('1.txt');
let gz = zlib.createGzip();
let ws = fs.createWriteStream('2.txt.gz'); rs.pipe(gz).pipe(ws); rs.on('error',()=>){
console.log(err);
}) ws.on('finish',()=>{
console.log('完成');
}) Comedy:
cosnt http = require('http');
const zlib = require('zlib');
const url = require('url');
const fs = require('fs'); http.createSever((req,res)=>{
let {pathname} = url.parse(req.url,true);
let filepath='www'+pathname; fs.stat(filepath,(err,stat)=>{
if(err){
//res.setHerader('content-encoding','deflate');
res.writeHeader();
res.write('NOT FOUND');
res.end();
}else{
let rs=fs.createReadStream(filepath);
rs.on('error',()=>{ });
res.setHerader('content-encoding','gzip');
let gz = zlib.createGzip();
rs.pipe(res); }
}); }).listen();
启动器 (forever,pm2......)
forever
npm i forever -g
forever start server.js
终端关了依旧在,会自动启动
forever list 查看运行列表
forever restart server.js 停掉再重开
forever stop server.js 停掉
forever stopall 停掉全部
forever start xxx.js -l c:/a.log -e c:/err.log -a
路由router
eg:
'/login' => function(){}
'/reg' => function(){}
' *' => read
Node流操作(启动器forever)的更多相关文章
- Node学习笔记(一):stream流操作
NodeJs中谈及较多的可能就是Stream模块了,先写一个简单的ajax回调 $.post("index.php",{data:'aaa',order:'ccc'},functi ...
- io流操作大全
JAVA 中的IO流 一.流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部 ...
- 侠说java8--Stream流操作学习笔记,都在这里了
前言 首次接触到Stream的时候以为它是和InputStream.OutputStream这样的输入输出流的统称. 流和集合的前世今生 概念的差异 在开发中,我们使用最多的类库之一就是集合.集合是一 ...
- [WCF编程]10.操作:流操作
一.流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞. 对于数据量小的消息,这种交换模式 ...
- Stream 流操作
Stream 类 先看下面的图 Stream 是所有流的抽象基类(不能被实例化,需要使用他的派生类FileStream/MemoryStream/BufferedStream).流是字节序列的抽象概 ...
- 使用node js 操作 Mysql 数据库
使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...
- delphi 基础之三 文件流操作
文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...
- IOS文件操作的两种方式:NSFileManager操作和流操作
1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...
- C++流操作之fstream
在Windows平台对文件进行存取操作可选的方案有很多,如果采用纯C,则需要用到File*等,当然也可以直接调用Windows API来做:如果采用C++,首先想到的就是文件流fstream.虽然在C ...
随机推荐
- yii安装redis扩展(Windows)
yii安装redis扩展可以用不同的方式, 最简单便捷的是使用 composer 方式, 有的时候composer会出现一些问题(现在还弄不懂),可能是网络什么的原因吧~ 还可以使用手动安装的方式, ...
- Win2008 R2 IIS FTP防火墙的配置
注意以下两个选项要在防火墙下开启,否则将会访问失败.
- linux如何查看ip地址
使用命令: ifconfig -a 例如:
- XGBoost的优点
1. Gradient boosting(GB) Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型Fm+1(x)基于前面学习模型的Fm( ...
- 【maven】【spring boot】【单元测试】 使用controller 执行单元测试类
存在这样一个场景: 当项目启动时间过长,又没办法缩短的时候,写单元测试就是一个十分耗时的工作, 这工作不在于使用编写代码,而在于每次run junit test 都需要完整启动一次项目,白白浪费宝贵的 ...
- 2016多校7.14 Warmup 题解
先讲1007,是一个数位dp,询问一个区间内,各位数的和是一个素数的数字的个数.其实我并不会数位dp,这题直接套用了上次多校lyf队长的dp代码,改了点返回参数没想到直接AC了.代码如下: #incl ...
- CSS子元素在父元素中水平垂直居中的几种方法
1. 水平居中(margin: auto;)子父元素宽度固定,子元素上设置 margin: auto; 子元素不能设置浮动,否则居中失效. #div1{ width: 300px; height: 3 ...
- css实现元素在div底部显示
#CSS .1 {position:relative;} .2 {;} #HTML <div class="1"> <div class="2" ...
- python中的break continue之用法
Break break跳出循环,并且终止最小封闭循环. Continue continue跳过本次循环,继续执行下一次的循环. 二者区别就是break会终止循环,continue不终止循环.
- Nginx之编写HTTP模块
1. 常用数据结构 1.1 ngx_str_t typedef struct { /* * 字符串的有效长度 */ size_t len; /* * 有效字符串的起始地址,该字符串通常并不以'\0'结 ...