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 ...
随机推荐
- Monkey实战测试步骤
1,adb devices 确保设备在线 2,adb shell pm list packages 查看包名 3,adb shell monkey -p com.xzck.wangcai --ig ...
- react-native-pg-utils(对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法.)
react-native-pg-utils 对react-native全局进行配置,对内置对象原型链增加方法,增加常用全局方法. 每次新建react-native项目之后都会发现有一些很常用的方法在这 ...
- vim 插件安装
一.pathogen简介 通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文 ...
- Meathill的博客地址
https://blog.meathill.com/ 安装mysql: https://blog.meathill.com/tech/setup-windows-subsystem-linux-for ...
- Laravel 配置
首页 问答社区 中文文档 API Composer Github 配置说明 框架下载好了,但是想要很好的使用,可能我们还有一些东西需要知道,这就是配置.和项目有关的配置是在 app/config 文件 ...
- flask 第十篇 after_request before_request
Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask import Flask app = Flask(__na ...
- BigDecimal常用的加减乘除算法、比较大小、不展示多余的零、保存两位小数点
项目中涉及到了BigDecimal的加.减.乘.比较大小.精确度的问题.所以在此总结一下,方便以后复习. //加法 BigDecimal coins = new BigDecimal("0& ...
- ArcGIS Python 坐标系信息
############################################################# import arcpy import os from arcpy impo ...
- shell 基数数值方法
shell 下获取数值的结果 1. # expr 1 "+" 2 2. # echo "1+2" |bc 3. # echo $(( 1+3))
- 青岛和深圳,两座条件相似的城市,为何GDP相差这么大
深圳和青岛,是一对非常有意思的城市.两者都是沿海城市:两者都是所在省的经济强市:两者都是副省级城市,但都不是省会:两者GDP都超过所在省的省会城市.当然,两个城市也有相当大的差距,一个位于南方,一个位 ...