首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PM2 进程管理工具使用总结

keymetrics监控,比pm2 monit监控更为详细友好,通过web页面展示; 最大内存重启,设置最大内存限制,超过限制自动重启; 编程API,提供API供开发者通过编程方式灵活管理进程; 以上简要概述了...模式; watch 监听重启,启用情况下,文件夹或子文件夹下变化应用自动重启; ignore_watch 忽略监听文件夹,支持正则表达式; max_memory_restart 最大内存限制数,...pm2建议这么做; restart_delay 异常重启情况下,延时重启时间; 上面内容比较枯燥无味,下面是结合自己实践遇到一些坑做思考总结。...个人几点看法保证常驻应用进程稳定运行: 定时重启,应用进程运行时间久了或许总会产生一些意料之外问题,定时可以规避一些不可测情况; 最大内存限制,根据观察设定合理内存限制,保证应用异常运行; 合理min_uptime...; 设置异常重启次数,如果应用不断异常重启,并超过一定限制次数,说明此时环境长时间处于不可控状态,服务器异常。

2.5K40

ubuntu搭建nodejs生产环境——快速部署手册

为什么不用CentOS而用Ubuntu作为生产环境运行平台?这个我也比较好奇,公司订只能沿用传统,从使用成本角度来说,此举也是值得肯定。...环境 1.下载node压缩文件 版本浏览地址:https://nodejs.org/dist/ 用户根据自己需求下载相应版本,我使用是node-v5.12.0-linux-x64.tar.gz..../bin/npm /usr/local/bin/npm nodejs提高班 1.设置npm下载源为淘宝源,加速下载 你可以使用我们定制 cnpm (gzip 压缩支持) 命令行工具代替默认 npm:...monit # 显示每个应用程序CPU和内存占用情况 $ pm2 show [app-name] # 显示应用程序所有信息 $ pm2...使用源安装之后,默认会使用nobody用户权限启动nginx,会导致一个问题,就是有静态文件压缩,并且文件比较大情况,会导致浏览器访问出错,所以需要设置nginx权限。

1.7K50
您找到你想要的搜索结果了吗?
是的
没有找到

在生产环境运行 PM2 & Node.js

如果使用了一个 Docker 容器(对,也支持 Docker),按照 https://pm2.keymetrics.io/docs/usage/docker-pm2-nodejs/ 说明安装。...以下是常用一些命令(区分顺序): pm2 start process_prod.json — 通过进程配置文件启动进程 pm2 ls — 列出所有的应用 pm2 stop — 停止指定应用...运行命令 pm2 monit 会返回关于应用健康丰富数据。比如,你将看到 CPU 利用率、内存使用量、请求分钟数等等。 日志管理 ? PM2 内建了日志管理功能。...它从所有你应用聚合日志数据,并将其写入一个用于阅读文件。你甚至可以通过事实跟踪日志来看到应用背后正在发生什么。...最佳实践 通常,我会乐于遵守 “应用十二因素”(https://12factor.net/)所述实践。这将帮助你利用 PM2 所有的优势。

1.5K10

深入理解NodeJS多进程

序言一次面试,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS多进程重新整理了一下。...其中对于共享内存和消息队列,NodeJS并未提供原生进程间通信支持,需要依赖第三方实现,比如通过C++shared-memory-disruptor addon插件实现共享内存支持、通过redis、...下面介绍在NodeJS通过socket、管道、信号实现进程间通信。...信号是操作系统杀掉进程时候给进程发送消息,如果进程没有监听信号并做处理,则操作系统一般会默认直接粗暴地杀死进程,如果进程监听信号,则操作系统默认处理。...有些工作其实不需要每个 Worker 都去做,如果都做,一来是浪费资源,更重要是可能会导致多进程间资源访问冲突既然有了pm2为什么egg要自己开发一个进程管理工具呢?

1.6K20

理解NodeJS多进程

序言一次面试,我提到自己用过pm2,面试接着问:「那你知道pm2父子进程通信方式吗」。我大概听说pm2有cluster模式,但不清楚父子进程如何通信。面试结束后把NodeJS多进程重新整理了一下。...其中对于共享内存和消息队列,NodeJS并未提供原生进程间通信支持,需要依赖第三方实现,比如通过C++shared-memory-disruptor addon插件实现共享内存支持、通过redis、...下面介绍在NodeJS通过socket、管道、信号实现进程间通信。...信号是操作系统杀掉进程时候给进程发送消息,如果进程没有监听信号并做处理,则操作系统一般会默认直接粗暴地杀死进程,如果进程监听信号,则操作系统默认处理。...有些工作其实不需要每个 Worker 都去做,如果都做,一来是浪费资源,更重要是可能会导致多进程间资源访问冲突既然有了pm2为什么egg要自己开发一个进程管理工具呢?

1.1K00

Week14-服务端选型:磨刀不如砍柴功

线上服务:PM2 + nginx 第二章 选择nodejs框架 2-1 nodejs框架选型-开始 所用常见nodejs框架,Koa2是最简单、最小 目的扩充广度,让你了解有这门技术 Koa2...以后访问接口,都在header带上token。 优缺点 优点:不占用服务器内存、多进程,多服务器,不受影响、不受跨域限制 缺点:无法快速封禁登录用户。...: true, // 多个实例,合并日志 max_memory_restart: '300M', // 内存占用超过 300M ,则重启,可使用 pm2 monit查看初始内存占用,然后根据初始设置...” 运行:npm run prd-dev 6-3 pm2日志拆分 日志拆分原因为:日志庞大,不利于检索且占用内存太大。...第十章 mysql和Sequelize 关于表外键:表关联,有一些外键设置,我发现之前后端表中都没有对外键盘做一个级联操作,于是在回头查看一些表结构时候,就不容易看出来一些表关联关系,如果我们在新建表时候就去设置外键表关联

1.9K30

面试官问你关于node那些事(进阶篇)

❝ 上一章基础篇提及到如何使用express搭建一个简单服务端,基础架子完成搭建好,就需要定义接口路由和中间件,这时候我们就需要在入口文件app.js定义app.get、app.use及app.all...中间件通常处理请求和响应,一般只处理输入数据,并将其交给队列下一个处理程序,比如下面这个例子app.use('/user'),那么只要路径以 /user 开始即可匹配,如 /user/tree 就可以匹配...通过上述代码我们就创建了一个支持多进程和负载均衡服务,运行结果如下? ? ❝ 啊呆?同学:那为什么多个进程可以监听同一个端口呢?...❞ 导致内存泄漏有主要以下几点: 全局变量没有手动销毁,因为全局变量不会被回收 闭包:闭包变量被全局对象引用,则闭包局部变量不能释放 监听事件添加后,没有移除,会导致内存泄漏 这也同时涉及到垃圾回收...(GC),nodejs是执行javascriptV8引擎,也就是说nodejsGC就是说V8引擎GC,而基于GC原理,内存泄漏就是应该被回收内存,换句话说就是本应该被标记为可达到对象却没有被正常回收

2.8K30

pm2:在生产环境运行 nodejs 应用

大家好,我是前端西瓜哥,今天带大家入门一下 pm2。 如果你用朴实无华 node 命令去运行 nodejs 应用,那它是不稳定,运行一段时间就会挂掉,不适合用在生产环境。...对于生产环境稳定运行 nodejs 项目,我们通常使用pm2 命令行工具。 pm2 pm2,是一款用于守护进程管理命令行工具,它能够帮你管理你应用,让它全年无休不挂掉。...app 数组下对象一些属性说明: name:应用名; script:指定应用入口文件; cwd:设置当前目录; arg:参数,传到程序,就像 nodejs index.js arg1 arg2...max_memory_restart:内存达到指定大小后重启服务,处理内存溢出情况; 更具体请看官方文档: https://pm2.keymetrics.io/docs/usage/application-declaration.../ 结尾 pm2 是一个进程管理工具,广泛运用于在生产环境 nodejs 应用管理。

97130

如何在Debian 9上设置Node.js生产应用程序

在本教程,您将在单个Debian 9服务器上设置生产就绪Node.js环境。该服务器将运行由PM2管理Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序安全访问。...nodejs软件包包含nodejs二进制文件以及npm,它是Node模块软件包管理器,因此您无需单独安装npm。 npm使用主目录配置文件来跟踪更新。它将在您第一次运行npm时创建。...PM2还维护其他信息,例如PID进程,其当前状态和内存使用情况。...这将显示应用程序状态,CPU和内存使用情况: pm2 monit 请注意,不带任何参数运行pm2也会显示包含示例用法帮助页面。...在准备教程,您可以在/etc/nginx/sites-available/example.com文件设置Nginx配置。

2K51

如何在Ubuntu 18.04上配置Node.js生产环境应用

在本教程,您将在单个Ubuntu 18.04服务器上设置生产就绪Node.js环境。该服务器将运行由PM2管理Node.js应用程序,并通过Nginx反向代理为用户提供对应用程序安全访问。...该nodejs软件包共包含了nodejs二进制文件以及npmNode模块软件包管理器,因此您无需单独安装npm。 npm使用主目录配置文件来跟踪更新。它将在您第一次运行时创建npm。...PM2还维护其他信息,例如PID进程,其当前状态和内存使用情况。 如果应用程序崩溃或被杀死,在PM2下运行应用程序将自动重新启动,使用startup子命令在系统启动时启动应用程序。...这将显示应用程序状态,CPU和内存使用情况: $ pm2 monit 注意: 运行不带任何参数pm2也会显示一个包含示例用法帮助页面。...在准备教程,您可以在文件设置Nginx配置。

2.7K30

nodejs实现多进程

Nodejs主进程是单线程,但它有多线程处理方案(更准备来说是多进程方案),即主进程开启不同子进程,主进程接收所有请求,然后将分发给其它不同nodejs子进程处理。...pm2 start xx.js --watch image.png 负载均衡: PM2nodejs应用,可以根据系统自动实现负载均衡:pm2 start http-server.js -i max...: apps数组,可以放置多个对象,对应多个文件执行不同配置 // ecosystem.config.js module.exports = { apps : [{ name: "http-server.../src/http-server.js", // 启动文件 instances: 4, // 启动进程数 exec_mode: 'cluster', // 多进程多实例 // 设置不同环境环境配置...// 错误日志文件,必须设置在项目外目录,这里为了测试 error_file: '~/Desktop/logs/err.log', // 流水日志,包括 console.log

84950

分享4个LinuxNode.js进程管理器

它允许您监视正在运行服务,它有助于执行常见系统管理任务(例如重新启动失败,停止,重新加载配置而无需停机,修改环境变量/设置,显示性能指标等等)。...在本文中,我们将回顾Linux系统Node.js应用程序管理四个进程管理器。 1. PM2 PM2是一个开源,高级,功能丰富,跨平台和最流行Node.js生产级流程管理器,内置负载均衡器。...image.png 安装PM2以在Linux运行Nodejs应用程序 它支持应用程序监视:提供一种监视应用程序资源(内存和CPU)使用情况简单方法。...重要是,PM2支持启动脚本,您可以将其配置为在预期或意外计算机重新启动时自动启动进程。它还支持在当前目录或其子目录修改文件时自动重新启动应用程序。...image.png 用于NodejsStrongLoop PM进程管理器 它支持应用程序监视(查看性能指标,如事件循环时间、CPU和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理

2.9K61

RustDesk自建中继服务器篇(续)

一直骂这玩意辣鸡,一边又不想丢了,好了,说下我怎么建pm2管理器 RustDesk文档中提到 pm2 需要 nodejs v16+ 由于宝塔已经不再更新pm2管理器插件了,直接网站入口选择nodejs...安装 然后直接装一手最新LTS版本(稳定版),会自动安装pm2,安装好以后,设置命令行版本 为你刚装好nodejs 就可以下载中继服务器所需软件包了 软件包 https://github.com.../rustdesk/rustdesk-server/releases RustDesk官方已经给打包好了,直接拿来用就可以 选择好自己所需版本文件,下载解压到你想要位置 解压后得到三个文件 hbbs...、hbbr、rustdesk-utils 由于使用宝塔nodejs管理器创建太麻烦,索性命令行操作 首先使用pm2 -v命令和node -v 命令验证pm2nodejs是否安装好了 然后cd...在 ID 服务器输入框(被控端+主控端)输入 hbbs 主机或 ip 地址,另外两个地址可以填,RustDesk会自动推导(如果没有特别设定),中继服务器指的是hbbr(21117)端口。

6.1K20

linux安装nodejs环境_ubuntu安装nodejs

1.到官网下载与自己系统匹配nodejs版本 中文网站 英文网站 不知道系统版本号可以通过 uname -a 查询系统位数 此处下载最新nodejs 也可以下载历史版本,选择自己想要 创建...node目录(可以创建) mkdir node 进去nodejs目录 cd node 然后将下载好压缩包上传到服务器并解压,或者直接通过weget下载 wget https://nodejs.org...文件 source etc/profile 创建软连接 ln -s node/nodejs/bin/node /usr/local/bin ln -s node/nodejs/bin/...创建pm2软连接 ln -s node/nodejs/bin/pm2 usr/local/bin 使用pm2启动node(命令2代表启动两个app,这个启动数目跟系统内核数相关) pm2...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

11.6K30

构建 Docker Nodejs Base (Node.js + NPM + PM2) 镜像

如何基于 Docker 官方提供 centos 镜像构建系统基础镜像。 如何构建 Nodejs Base (Node.js + NPM + PM2) 镜像。...使用 Nodejs Base 镜像,构建并启动 Koa 容器服务。 使用 Systemd,实现容器 Koa 服务开机启动。 一,使用 Docker Hub 1.1....为了使用 systemd,将需要包含类似于以下示例 Dockerfile 配置。该 Dockerfile 删除了若干可能导致问题文件。...其目录结构如下图: app.js 入口文件 ecosystem.config.js pm2 配置文件 koa.service systemd 服务配置文件 Dockerfile 镜像构建配置 点击查看.../bin/bash # 服务说明 [Unit] # 服务描述 Description=pm2 start docker-nodejs-base-koa-demo # 前置需要启动服务 After=sysinit.target

1.6K20

PM2快速入门

要以群集模式启动应用程序: $ pm2 start app.js -i max 在此处阅读有关集群模式更多信息。 生态系统文件 您还可以创建一个配置文件,称为生态系统文件,以管理多个应用程序。...设置启动脚本 使用服务器引导/重新引导管理进程重新启动PM2至关重要。..." 这将监视并重新启动应用程序,以解决当前目录+所有子文件任何文件更改,并且将忽略node_modules文件夹–ignore-watch =“ node_modules”任何更改。...更新PM2 我们简化了流程,各个版本之间没有重大变化,过程也很简单: npm install pm2@latest -g 然后更新内存PM2pm2 update 备忘单 以下是一些值得了解命令...如何更新PM2 安装最新pm2版本: npm install pm2@latest -g 然后更新内存PM2pm2 update

1.5K10

使用pm2部署node生产环境

终端监控:可以在终端监控应用程序并检查应用程序运行状况(CPU使用率,使用内存,请求/分钟等)。 SSH部署:自动部署,避免逐个在所有服务器中进行ssh。...,设置为2则占用2个 pm2 start app.js -i max //启用群集模式(自动负载均衡) pm2-dev start ... // 开发模式启动,即启用后台运行 查看启动列表pm2...如果设置成true,当应用程序变动时,pm2会自动重载。这里也可以设置你要监控文件。 13....], 13. merge_logs:// 设置追加日志而不是新建日志 14. exec_interpreter:应用程序脚本类型,这里使用shell,默认是nodejs 15....' pm2配置文件添加"instance_var": "INSTANCE_ID", // 添加这一行 字段 发现如果没有设置群集模式"exec_mode": "cluster",也会记录不到;

3.8K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券