他们是:forever,nodemon 和 pm2。
forever 的功能很简单,就是保证进程退出时,应用会自动重启:# 作为前台任务启动 $ forever server.js # 作为服务进程启动 $ forever start app.js # 停止服务进程 $ forever stop Id # 重启服务进程 $ forever restart Id # 监视当前目录的文件变动,一有变动就重启 $ forever -w server.js # -m 参数指定最多重启次数 $ forever -m 5 server.js # 列出所有进程 $ forever list
nodemon
一般只在开发时使用,它最大的长处在于 watch 功能,一旦文件发生变化,就自动重启进程。pm2 的功能最强大,除了重启进程以外,还能实时收集日志和监控。# 默认监视当前目录的文件变化 $ nodemon server.js # 监视指定文件的变化 $ nodemon --watch app --watch libs server.js
相关帖子:# 启动应用 $ pm2 start app.js # 指定同时起多少个进程(由CPU核心数决定),组成一个集群 $ pm2 start app.js -i max # 列出所有任务 $ pm2 list # 停止指定任务 $ pm2 stop 0 # 重启指定任务 $ pm2 restart 0 # 删除指定任务 $ pm2 delete 0 # 保存当前的所有任务,以后可以恢复 $ pm2 save # 列出每个进程的统计数据 $ pm2 monit # 查看所有日志 $ pm2 logs # 导出数据 $ pm2 dump # 重启所有进程 $ pm2 kill $ pm2 resurect # 启动web界面 http://localhost:9615 $ pm2 web
http://briteming.blogspot.com/2016/08/systemdnodedaemon.html
Linux的守护进程(daemon进程)的启动方法
------------
nodemon热重启
本地安装
1
| npm install nodemon --save
|
创建配置文件 nodemon.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | { "restartable": "rs", "ignore": [ "node_modules/", "public/**/*.*" ], "verbose": true, "execMap": { "js": "node --harmony" }, "watch": [ ], "env": { "NODE_ENV": "development" }, "ext": "js json" } |
- restartable-设置重启模式
- ignore-设置忽略文件
- verbose-设置日志输出模式,true 详细模式
- execMap-设置运行服务的后缀名与对应的命令
1 2 3
{ “js”: “node –harmony” }
- 表示使用 nodemon 代替 node
- watch-监听哪些文件的变化,当变化的时候自动重启
- ext-监控指定的后缀文件名
运行
1
| nodemon app.js
|