① 如何让脚本在第二天自动重新启动
用记事本编写一段重启命令,内容如下:
shutdown -r -t +(倒数时间)
shutdown -r -t 10 (意思是10秒后系统自动重启)
然后随便一个名字,另存为.bat,再将这个.bat文件存到开始菜单-启动 文件夹里面,就会开即启动这个bat了。C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
如果想启动一个程序,可以编写一个bat文件,命令是:
start 路径/*.exe
例如 :start F:\she.exe
② 如何使用 pm2 部署 express 多进程
PM2是一个带有负载均衡功能的Node应用的进程管理器。PM2可以利用服务器上的所有CPU,并保证进程永远都活着,0秒的重载,部署管理多个Node项目。PM2是Node线上部署完美的管理工具。
PM2安装
npm install -g pm2
PM2用法
$ pm2 start app.js -i 4 #后台运行pm2,启动4个app.js,也可以用’max’参数,进程数目依赖于Cpu的核心数目
$ pm2 start app.js –name my-api # 命名进程
$ pm2 restart 0 # 重启指定的进程
$ pm2 restart all # 重启所有进程
$ pm2 reload all # 0秒停机重载进程 (用于NETWORKED进程)
$ pm2 stop 0 # 停止指定的进程
$ pm2 stop all # 停止所有进程
$ pm2 startup # 产生init脚本,保持进程活着
$ pm2 delete 0 # 杀死指定的进程
$ pm2 delete all # 杀死全部进程
$ pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615)
$ pm2 list # 列出由pm2管理的所有进程信息。
$ pm2 monit # 监视每个node进程的CPU和内存的使用情况。
$ pm2 logs # 显示所有进程日志
$ pm2 kill # 杀死pm2进程
$ pm2 info 0 # 描述指定项目或者进程信息
$ pm2 logs # 实时集中log处理
标签:Nodejs学习
③ nodejs 线上部署 也需要npm start么
pm2=P(rocess)M(anager)2,是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡。它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理、监控功能。并且使用起来非常简单。下面我将把我的使用过程分享出来,Nodejs应用是一个基于Express 4.x的应用,名称是Wolverine。
安装
环境清单:
windows7 x64
node v5.0.0
npm 3.3.6
- $ npm install pm2 -g
- $ pm2 update
- "scripts": { "start": "node ./bin/www", "debug": "node debug ./bin/www"
- },
- { "apps" : [{ "name" : "Wolverine", //名称 "script": "./bin/www", //程序入库 "cwd": "./", //根目录 "watch":[ "bin", "common", "configs", "public", "routes", "views"
- ],//需要监控的目录 "error_file":"./logs/app-err.log",//错误输出日志 "out_file":"./logs/app-out.log", //日志 "log_date_format":"YYYY-MM-DD HH:mm Z" //日期格式
- }]
- }
- "pm2": "pm2 start processes.json"
- $ npm run pm2
全局安装pm2
更新
启动
以前启动Wolverine是利用package.json的scripts来实现的,只需要执行npm run start就可以启动,配置如下:
使用pm2我们可以在start处配置成pm2 ./bin/www,命令后面支持加参数来实现watch、cluster多进程模式等功能。我不太喜欢一大串的命令,于是我使用了配置文件的方式。
在Wolverine的根目录,我创建了一个processes.json配置文件,配置文件内容如下,注释写的也很清楚了
随后,我在package.json中增加了一条
在启动就直接输入如下命令就好:
看到下面的界面,就启动成功了,然后我们就可以关掉这个窗口了,服务不会因此停止,是不是高大上多了。
拿出你的想象力,我们可以开发一个应用来调用此api,就可以开发出一个图形界面的监控软件了。。。