1、multer实现文件上传
npm i -S multer
//multer模块不仅能够帮我们处理上传文件,也能解析post提交数据。
// 使用multer中间件
const multer = require("multer");
const uploader = multer({
// 指定文件上传成功后所在的路径
dest: path.join(__dirname,'../', "public", "uploads"),
});
// 路由上应用multer 上传文件信息会挂载到 req.file 上
router.post("/moive/add",
uploader.single("pic"), // 此处的`pic`位置一定要与文件域的name值一致
nodejs项目上线
使用PM2进行
PM2的特性:
内建负载均衡(使用Node cluster 集群模块)
后台运行
0秒停机重载,我理解大概意思是维护升级的时候不需要停机.
具有Ubuntu和CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )
//安装
npm install -g pm2
// 常用命令
pm2 start app.js 启动app项目
pm2 list 列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常
pm2 stop all 停止所有进程
pm2 restart all 重启所有进程
pm2 reload all 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0 停止指定的进程
pm2 restart 0 重启指定的进程
pm2 delete 0 杀死指定的进程
pm2 delete all 杀死全部进程
pm2 start app.js -i max 根据有效CPU数目启动最大进程数目
pm2 start app.js -i 4 启动4个进程
pm2 start app.js --name serverone 启动一个进程并把它命名为 serverone 或用 -n
pm2 stop serverone 停止 serverone 进程
pm2 start app.js -i max -e err.log -o out.log 启动 并 生成一个配置文件