欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机

发布时间:2024/8/23 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

为什么用?

持久化:一旦开始使用,您的应用将达到持久化,在崩溃和机器重启时自启动。

流程管理 : 您所有的应用都被守护进程

日志管理 所有的应用日志都会保存到您的服务器硬盘中~/.pm2/logs/。

零配置负载均衡器 pm2通过创建多个共享相同服务器端口的子进程来扩展您的应用。这样您可以在停机时间为零的情况下重启您的应用。

终端内监控 在终端中监控您的应用以检查您的应用运行状况(CPU使用情况,内存使用,请求/分钟以及更多)

使用SSH轻松部署 :自动完成部署,不需一对一的ssh服务器连接。

Docker化

安装pm2

使用yarn:

yarn global add pm2

使用npm:

npm install pm2 -g

在debian操作系统下,使用安装脚本:

apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/p

实战演练

新建一个ecosystem.config.js文件,基本配置如下,这里以koa2项目为例

module.exports = {

apps: [{

// Application #1

name: "project name",

script: "./bin/www.js",

out_file: "./log/blog-out.log",

log_date_format: "YYYY-MM-DD HH:mm Z",

error_file: "./log/blog-err.log",

merge_logs: true,

watch: true,

env: {

"NODE_ENV": "development",

"AWESOME_SERVICE_API_TOKEN": "xxx"

},

env_production: {

"NODE_ENV": "production"

},

ignore_watch : ["node_modules", "src/utils/data", "src/utils/docs","src/controllers/backtend/uploads","public","logs","log"],

}]

}

重点步骤详解

name:应用的名称,后续通过名称直接操作应用

script :执行的脚本,如原来 node start ./bin/www 那么这里就是"./bin/www.js"

watch:是否让pm2监视源码目录的变化,有变化自动重启启动

ignore_watch:忽略哪些目录不监控,根据个人情况配置

启动,配置好之后执行如下脚本

pm2 start ecosystem.config.js --env production

常用指令

pm2 list :列举所有应用

pm2 monit:开启监控面板

pm2 start|restart|stop|delete appname :开启、重启、停止、删除应用

pm2 flush:清空日志

pm2 logs:查看日志

总结

以上是生活随笔为你收集整理的nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。