PM2 & nodemon & Node.js Deamon All In One
PM2 & nodemon & Node.js Deamon All In One
node.js server tools
PM2
$ yarn global add pm2
# OR
$ npm install pm2 -g
# global
$ pm2 start server/index.js
$ yarn add -D pm2
# OR
$ npm i -D pm2
# local
$ ./node_modules/pm2/bin/pm2 start server/index.js
$ ./node_modules/pm2/bin/pm2 list
# $ ./node_modules/pm2/bin/pm2 stop ID
$ ./node_modules/pm2/bin/pm2 stop 0
$ ./node_modules/pm2/bin/pm2 monit
Express & PM2
https://expressjs.com/en/advanced/pm.html
https://pm2.keymetrics.io/docs/usage/quick-start/
$ pm2 start app.js
$ pm2 monit
$ pm2 list
$ pm2 stop
$ pm2 restart
$ pm2 delete
$ pm2 plus
PM2 ecosystem.config.js
ecosystem.config.js
module.exports = {
apps : [{
name: "app",
script: "./app.js",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}]
}
# $ pm2 [start|restart|stop|delete] ecosystem.config.js
$ pm2 start ecosystem.config.js
https://doc.pm2.io/en/runtime/guide/ecosystem-file/
https://pm2.keymetrics.io/docs/usage/application-declaration/
nodemon
Nodemon is a utility that will monitor for any changes in your source and automatically restart your server.
Nodemon是一个实用程序,它将监视源中的任何更改并自动重新启动服务器。
$ yarn global add nodemon
# OR
$ npm i -g nodemon
# global
$ nodemon server/index.js
$ yarn add -D nodemon
# OR
$ npm i -D nodemon
# local
$ ./node_modules/nodemon/bin/nodemon.js ./server.js localhost 8080
$ ./node_modules/nodemon/bin/nodemon.js --inspect ./server.js 80
# js !== cli 👎❌
# $ ./node_modules/nodemon/bin/nodemon ./src/index.js
# ✅
$ ./node_modules/nodemon/bin/nodemon.js ./src/index.js
nodemon.json
{
"verbose": true,
"ignore": ["*.test.js", "fixtures/*"],
"execMap": {
"rb": "ruby",
"pde": "processing --sketch={{pwd}} --run"
}
}
package.json
{
"name": "nodemon",
"homepage": "http://nodemon.io",
"...": "... other standard package.json values",
"nodemonConfig": {
"ignore": ["test/*", "docs/*"],
"delay": "2500"
}
}
TypeScript
lcoal nodemon & node ✅
{
"scripts": {
"dev": "ts-node ./src/app.ts",
"build": "tsc -w ./src/crawler.ts",
"build-all": "tsc -w",
- "auto": "./node_modules/nodemon/bin/nodemon.js ./dist/app.js",
+ "auto": "nodemon node ./dist/app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
}
npx
PM2
# global
$ pm2 start server/index.js
# local
$ ./node_modules/pm2/bin/pm2 start server/index.js
# npx 等价于 ./node_modules/pm2/bin/ ✅
$ npx pm2 start server/index.js
nodemon
# global
$ nodemon ./server.js
# local
$ ./node_modules/nodemon/bin/nodemon.js ./server.js
# npx 等价于 ./node_modules/nodemon/bin/ ✅
$ npx nodemon server.js
https://www.ruanyifeng.com/blog/2019/02/npx.html
daemon 守护进程
https://en.wikipedia.org/wiki/Daemon_(computing)
https://translate.google.com/?sl=en&tl=zh-CN&text=daemon&op=translate
refs
https://www.npmjs.com/package/nodemon
https://github.com/remy/nodemon
https://www.npmjs.com/package/pm2
https://github.com/Unitech/pm2
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/13621076.html
未经授权禁止转载,违者必究!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-09-06 Intersection Observer API All In One
2019-09-06 QR code & auto login & OAuth 2.0
2018-09-06 alipay mini app
2018-09-06 bash for mac