博文

目前显示的是 十一月, 2019的博文

Node.js 内存性能优化 - 知乎

图片
Node.js 内存性能优化 - 知乎 Node.js 内存性能优化 布谷 关山难越,萍水相逢 本文翻译自: medium ,已获得作者 Naren Yellavula 的翻译许可 Node.js 允许我们写各种体量的服务端应用,小到单文件,大到数M。我们知道应用程序跑在计算机内存(RAM)上,所以内存性能优化变得至关重要,一个不好的实现可能阻塞服务器上同时运行的其它应用。C 和 C++ 程序员需要手动进行内存管理,因为内存泄露可能发生在 C 程序的任何地方,那么作为 JS 程序员,我们该如何处理呢? JS 程序员可能并不关心多任务处理的性能问题,因为 Node.js 一般用于web 服务开发,单线程的运行在高容量的特定服务器上。但即使是 web 服务开发,我们也需要在服务器上运行诸如 MySQL,Redis 等其它应用,所以我们需要关心内存性能问题,因为胡乱编写代码,可能导致其它应用的排队甚至阻塞。本文我们通过实例来了解一下,如何通过 stream(流),buffer(缓冲器)和 piping(管道)来优化内存性能。 我们使用 Node.js V8.12.0 来运行实例,所有示例代码可在此查看: narenaryan/node-backpressure-internals ​ github.com 问题:拷贝大文件 使用 Node.js 拷贝大文件,最简单的实现如下 const fs = require ( 'fs' ); let fileName = process . argv [ 2 ]; let destPath = process . argv [ 3 ]; fs . readFile ( fileName , ( err , data ) => { if ( err ) throw err ; fs . writeFile ( destPath || 'output' , data , ( err ) => { if ( err ) throw err ; }); console . lo...

使用Docker快速搭建Firefox Send-鹞之神乐

图片
使用Docker快速搭建Firefox Send-鹞之神乐 当前位置: 鹞之神乐 > 编程开发 > 正文 使用Docker快速搭建Firefox Send 发布于 2019-06-28 分类: 编程开发 阅读(401) 评论(0) 1:安装Docker # Ubuntu 安装Docker wget -qO- https://get.docker.com/ | sh 2:Docker启动Redis # 启动一个无密码的Redis服务 docker run --name docker-redis-server -p 6379:6379 --restart=always -d redis redis-server --appendonly yes # 3:Docker启动Firedox Send # 启动一个使用刚才安装的Redis服务的Firedox Send服务,默认使用1443端口 docker run --net=host --restart=always -e 'REDIS_HOST=127.0.0.1' -e 'NODE_ENV=production' mozilla/send:latest # 4:配置Nginx反向代理 现在你已经可以访问 http://127.0.0.1:1443 来使用Firedox Send了。接着将你的域名解析到你的服务器,再通过Nginx反向代理一下,就完事大吉啦!完整的Nginx反向代理配置如下: # nginx/conf/vhost/send.kagura.me.conf server { listen 443 ssl http2; server_name send.kagura.me ; # 配置反向代理 location / { proxy_pass http://127.0.0.1:1443; proxy_set_header Connection "upgrade"; proxy_set_header Upgrade $ht...

Firefox Send-临时文件分享服务部署 - Newlearnerの小站

图片
Firefox Send-临时文件分享服务部署 - Newlearnerの小站 Firefox Send-临时文件分享服务部署  2019-03-14  3条评论  3,238次阅读  本文共1472个字,预计阅读时间4分钟。  Newlearner365  最后修改:2019-08-5 10:18 Contents [ 隐藏 ] 1 准备工作 1.1 What I need 2 部署 2.1 安装Nodejs 2.2 安装Redis 2.3 安装Nginx 2.4 安装其他 2.5 Git项目并安装运行 3 绑定域名 3.1 修改Webpack.config.js 3.2 书写nginx配置文件 4 其中的坑 Spread the love 最近火狐的一个项目 Firefox Send 在TG又火了一把,自从去年开始内测之后,最近Mozilla正式上线了该服务。该服务旨在提供 简单、私密的文件分享服务 ,不登录火狐账户可以上传分享不超过1G的文件,登录火狐之后可以上传分享不超过2.5G的文件。且火狐承诺该服务是端到端的,分享链接可加密,到期即焚,十分安全。 要强调的是Firefox Send下载被分享文件是先在浏览器下载,再拷贝至桌面,通过抓包也能验证其安全性和不可获得直链的事实。 官网地址: https://send.firefox.com 以上是官方提供的网址,刚好我看见其中有github开源的 项目 ,于是开始了自建Firefox Send服务的探索。 交流群: Newlearnerの水群 准备工作 What I need 1、一台有公网ip的服务器 2、Node.js 10.0+ 3、Redis server(可选) 4、nginx(可选,如果你想要绑定域名) 5、一些依赖 部署 安装Nodejs 1 2 3 4 5 6 7 #centos curl -- silent -- location https : //rpm.nodesource.com/setup_10.x | bash - yum - y ins...