当前位置: 首页 > 后端技术 > Node.js

npm系列:pm2文档简单翻译

时间:2023-04-04 01:03:39 Node.js

今天实现了一个用node写的小网页,放在服务器上。为了解决关闭连接后退出node的问题,找了forrver和pm2。权衡之后,我选择了pm2。我在npm上找到了它的文档,简单翻译一下,保存起来备用。不过,作为一个英语四级都没过的渣男,我的翻译水平实在是有限,有疏漏和看不懂的地方。请原谅我。(其实我只是把它作为学习英语的一种方式。)文档地址PM2是一个Node应用程序的进程管理器,具有负载均衡功能。可以让Node应用一直在后台运行,不停更新,优化系统任务管理。启动进程管理非常简单:$pm2startapp.jsPM2已经过1000多次测试。并且可以运行在linux&MacOSx&Windows等操作系统上。安装PM2$npminstallpm2-g当你安装node的时候,npm也会被安装--InstallingNode.jswithNVMNVM是一个Nodejs版本控制器。启动一个应用程序$npminstallpm2-g你的程序现在是一个受监控的后台进程,并将永远运行。关于进程管理的更多信息更新PM2#安装最新的pm2版本$npminstallpm2-g#保存进程列表,退出旧的PM2并恢复所有进程$pm2updatePM2更新是无缝的主要功能命令概述#General$npminstallpm2-g#安装PM2$pm2startapp.js#Start、Daemonize和自动重启应用程序(Node)$pm2startapp.py#Start、Daemonize和自动重启应用程序(Python)$pm2startnpm--start#Start、Daemonize和自动重启Nodeapplication#集群模式(仅限Node.js)$pm2startapp.js-i4#启动四个应用程序实例#将为每个网络加载网络平衡器$pm2reloadall#立即重启所有工作进程$pm2scale[app-name]10#使用10个worker进程#进程监控$pm2list#列出所有pm2启动的进程$pm2monit#列出每个程序的详细信息和CPU使用率$pm2show[app-name]#列出程序的所有信息#Logmanagement$pm2logs#列出应用程序的日志$pm2logs[app-name]#列出应用程序的日志$pm2logs--json#使用json格式列出日志$pm2flush$pm2reloadLogs#进程状态管理$pm2startapp.js--name="api"#启动应用程序并将其命名为'api'$pm2startapp.js---a34#启动应用程序并将选项“-a34”作为参数传递$pm2startapp.js--watch#当文件更改时重新启动应用程序$pm2startscript.sh#启动bash脚本$pm2startapp.json#启动所有声明的程序在app.json中$pm2reset[app-name]#重置所有计数器$pm2stopall#停止所有应用程序$pm2stop0#停止id为0的进程$pm2restartall#重启所有应用程序$pm2gracefulReloadall#Gracefulreload集群模式下的所有应用程序$pm2deleteall#关闭并删除所有应用程序$pm2delete0#删除id为0的程序#启动/引导管理$pm2startup#检测init系统,在启动时生成并配置pm2引导$pm2save#保存当前进程列表$pm2resurrect#恢复之前保存的进程$pm2unstartup#Disable和删除启动系统$pm2update#保存进程,杀死PM2和恢复进程$pm2generate#生成示例json配置文件#Deployment$pm2deployapp.jsonprodsetup#Setup"prod"remoteserver$pm2deployapp.jsonprod#更新“prod”远程服务器$pm2deployapp.jsonprodrevert2#将“prod”远程服务器还原为2#Modulesystem$pm2module:generate[name]#生成名称为[name]的示例模块$pm2installpm2-logrotate#安装模块(这里是一个日志轮转系统)$pm2uninstallpm2-logrotate#卸载模块$pm2publish#版本发布,gitpush和npm发布进程管理器一个小进程启动,可以查看列表和轻松管理:monitorAllrunningprocesses$pm2list管理进程非常简洁:$pm2stop$pm2restart$pm2delete查看更多进程信息:$pm2describe关于进程管理的更多信息负载均衡和立即重载在启动应用程序时使用-i选项item,clustermodewillenableclustermodewillinstance_number然后自动加载HTTP/TCP/UDP平衡器。可以根据可用的CPU数量提高性能。PM2支持所有Nodejs框架,任何Node.js程序都可以在不修改任何代码的情况下运行主命令:$pm2startapp.js-imax#Enableload-balancerandstart'max'instances(cpunb)$pm2reloadall#零秒停机时间重新加载$pm2scale#增加/减少进程数更多关于PM2如何使集群更容易CPU/内存监控的信息监控所有进程:$pm2monit日志工具实时显示详细的进程日志。有标准、原始、JSON和格式化输出可用:$pm2logs['all'|app_name|app_id][--json][--format][--raw]`示例:$pm2logsAPP-NAME#DisplayAPP-NAMElogs$pm2logs--json#JSON输出$pm2logs--format#格式化输出$pm2flush#Flushalllogs$pm2reloadLogs#ReloadalllogsMoreaboutlogmanagementconfigurationstartupscriptpm2可以配置启动脚本,在每个当系统重新启动时,保持PM2和进程运行。支持的系统:systemd(Ubuntu16、CentOS、Arch)、upstart(Ubuntu14/12)、launchd(MacOSx、Darwin)、rc.d(FreeBSD)。#自动检测初始化系统+在服务器启动时生成和设置PM2启动$pm2startup#手动指定启动系统#可以是:systemd,upstart,launchd,rcd$pm2startup[platform]#在服务器启动时禁用并删除pm2boot$当pm2unstartup重启时,保存进程列表:pm2saveMoreaboutThestartupscripts模块系统PM2内置了一个简单但功能强大的模块系统。安装模块很简单:$pm2install下面是一些可以通过PM2管理Nodejs库的兼容模块:pm2-logrotate自动记录PM2和程序的管理日志pm2-webshel??l提供终端pm2-server-monit监控systemtorun编写自己的模块Keymetrics监控如果你使用PM2来管理Nodejs应用,Keymetrics会让你的管理变得简单并且可以跨服务器。发现PM2的监控仪表板非常感谢,希望您喜欢以后随着理解的加深,会逐步修改翻译文档。