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 ...
随机推荐
- springboot中使用spring security,登录url就出现403错误
参考链接:https://segmentfault.com/q/1010000012743613 有两个controller,一个是所有用户可以访问的@RequestMapping("use ...
- 爬虫代理池源代码测试-Python3WebSpider
元类属性的使用 来源: https://github.com/Python3WebSpider/ProxyPool/blob/master/proxypool/crawler.py 主要关于元类的使用 ...
- 面试必会之ArrayList源码分析&手写ArrayList
简介 ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高. 线程 ...
- 【CUDA 基础】4.4 核函数可达到的带宽
title: [CUDA 基础]4.4 核函数可达到的带宽 categories: - CUDA - Freshman tags: - 带宽 - 吞吐量 - 矩阵转置 toc: true date: ...
- mac使用brew安装mysql报RROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
使用mac安装mysql安装完后运行 mysql -uroot -p 报了 ERROR 2002 (HY000): Can't connect to local MySQL server throug ...
- oracle表查询
使用scott用户中存在的emp.dept表等做演示 一.单表查询 查看表结构:desc dept; 查看所有列:select * from dept: 查询指定列:select ename,sal, ...
- easyExcel简介#
摘自:https://www.cnblogs.com/54chensongxia/p/11990312.html easyExcel简介# Java领域解析.生成Excel比较有名的框架有Apache ...
- 【零基础】为什么Facebook发币就不一样
参考: https://baijiahao.baidu.com/s?id=1637182596912694597&wfr=spider&for=pc https://blog.csdn ...
- MySort(选做)
一.题目要求 注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实 ...
- macos npm + node 环境启动问题排查
MacOS安装npm全局包的权限问题 解决办法:修改npm包所安装目录的权限:sudo chown -R $USER /usr/local 然后输入密码就可以了 deMBP:~ $ sudo ch ...