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应用永远不会宕机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java if hasvalue_首选:
- 下一篇: 18c分布式事务 oracle_浅谈OR