Tag: nodejs
-
tmp目录下puppeteer_dev_chrome_profile 占用磁盘空间问题
有安装截图工具puppeteer 的,看看:/tmp目录下 ,直接干到100%磁盘 puppeteer_dev_profile是透过puppeteer操作Headless Chrome时会在 /tmp 自动产生的文件夹。倘若程序没有正确关闭chrome进程﹐/tmp/puppeteer_dev_profile-* 将无法自动回收并残留在操作系统上,佔用不必要的硬盘空间。 Github上已有人提出这个问题 ,而其解决方法 是程序在关闭headless chrome后接着移除相关文件夹。办法不错,前提是完成任务后需要主动关闭chrome,而且在移除puppeteer_dev_profile之前要祈求程序不要崩溃。 可惜我这边的是长时间运行的web service,chrome不会关 ,使用pm2管理程序重启,想简单一点移除多余的文件夹就可以了 (每个puppeteer_dev_profile佔 1 ~ 2 GB 不等,机器真的吃不消~)所以就组装一下以下shell command︰ 合共5个步骤用pipe串接︰ 首先ls -t /tmp按最近修改时间 (modification time) 逐一列出/tmp下的档案名字; grep puppeteer_dev_profile筛选出名字包含puppeteer_dev_profile的行; tail -n 2截取由第2行 (包括第2行) 至最后一行 (包括最后一行),因為第1个puppeteer_dev_profile文件通常正在被程序使用中; awk ‘{print “/tmp/”$1}’把每行文件名字加上前缀/tmp/,变成full path; 最后透过xargs -l1把每行full path接在rm -rf后执行,逐一永久移除/tmp/puppeteer_dev_profile-* 文件。 把这个放进crontab,视情况我每天执行一次,注意权限是否足够,每个指令建议改用full path,例如ls改为/usr/bin/ls。
-
Nginx配置Node.js反向代理(避免Recv failure: Connection reset by peer错误)
nodejs 出现Recv failure: Connection reset by peer 错误的,一般是由于网络问题,本身http就是不安全的,通常我们在js服务启动后,都要加个nginx代理,避免不必要的网络错误,后期是非常省事的。下面是nginx的简单配置: 证书配置: 如果服务多,需要加负载均衡的配置: 加权重的配置: 默认情况下,请求会按顺序逐一分配到不同的 Node.js 服务,如果某一个服务挂了则会被剔除。上面这个配置则会让两台服务器的3001端口接受更多的请求。 其它的策略,ip_hash:每个请求按访问ip的hash结果分配,这样在用户 IP 不变的情况下,将固定访问一个后端服务器fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配url_hash 按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器策略使用方法:
-
node.js的npm命令大全npm和cnpm(China NPM)以及yarn
npm:npm全称Node Package Manager,是 Node.js 平台的默认软件包管理器,用于安装、发布和管理 Node.js 应用程序和软件包。它是一个命令行工具,允许开发人员在他们的项目中轻松地管理依赖项、安装软件包、更新软件包版本以及执行其他与软件包相关的任务。npm 是 nodejs 中的一部分,通常与 nodejs 一起安装和更新。当你安装了 nodejs,npm 也随之安装。 cnpm:cnpm(China Node Package Manager)是一个为中国大陆用户定制的 npm(Node Package Manager)镜像,由阿里巴巴的淘宝团队开发和维护。由于 npm 的原始服务器位于国外,对于中国大陆的用户来说,下载和安装 Node.js 包时可能会遇到速度较慢或连接不稳定的问题。为了解决这个问题,cnpm 镜像被创建出来,以提高下载速度和稳定性。 提示1:cnpm大多数情况可以不要,直接换npm的源为国内镜像即可。因为它们都起到了加速npm包下载的作用。不过,如果你需要使用cnpm提供的一些额外功能或服务,如私有npm包管理等,那么仍然需要使用cnpm。 提示2:如果你之前的npm/cnpm使用的是旧域名,https://npm.taobao.org 或 https://registry.npm.taobao.org 这两个域名已经弃用,建议尽快更新你的 npm / cnpm 配置。你可以使用以下命令来设置新的淘宝 NPM 镜像源 如果你使用的是 cnpm,可以这样设置 完成设置后,你可以通过运行 npm get registry 或 cnpm get registry 来验证新的镜像源是否已正确设置。 常用的npm和cnpm镜像源地址官方源(npm registry):https://registry.npmjs.org/淘宝NPM镜像源:https://registry.npmmirror.com/cnpm镜像源:http://r.cnpmjs.org/阿里云NPM镜像源:https://npm.aliyun.com/腾讯云NPM镜像源:https://mirrors.cloud.tencent.com/npm/华为云NPM镜像源:https://mirrors.huaweicloud.com/repository/npm/网易NPM镜像源:https://mirrors.163.com/npm/中国科学技术大学开源镜像站:http://mirrors.ustc.edu.cn/npm/清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/npm/ yarn(Yarn:Yet Another Resource Negotiator,是一个快速、可靠、安全的依赖管理工具,一款新的JavaScript包管理工具。)Yarn是由Facebook、Google、Exponent和Tilde联合推出了一个新的JS包管理工具 ,如官方文档中写的,”快速、可靠、安全的依赖管理工具。”,Yarn是为了弥补npm的一些缺陷而出现的。 它旨在解决npm存在的一些性能和安全性问题,并提供更好的用户体验。…
-
错误nodejs puppet google-chrome tinyproxy net::ERR_CONNECTION_RESET连接失败
net::ERR_CONNECTION_RESET连接失败解决办法