koa2+sequelize+mysql+pm2,支持node webpack打包,线上部署日志查询
欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0911/112590.html
简介
koa2 作为主要node service 入口webpack 打包node 环境pm2 服务负载均衡mysql 数据库mysql 强大的事务 sequelizekoa-body,文件上传中间件koa-cors koa 跨域中间件log4 日志输出......
项目独立提供服务接口,可作为前后端分类提供良好的解决方案
依赖
node -v 8.4.0npm -v 5.3.0npm2 -v 3.5.1
目录
.├─auto //sequelize-auto 自动生成 models实体类└─src | main.js //入口文件 | router.js // controller 入口 | ├─config //配置文件 ├─controller //api层 ├─models // 实体类 └─utils //工具类
安装
git https://github.com/shanyanwt/koa_vue_blog.git npm install 开发环境 npm run dev localhost:8081 生产环境 npm run build //生成app.js npm run pm2 localhost:8081
supervisor nodejs 热加载 开发环境使用
supervisor -w src ,添加需要监听的文件,默认是全部但是有时不起作用,加上监听的文件即可
创建数据库连接
sequelize 连接mysql
sequelize 安装 $> npm i sequelize mysql mysql2 --save-dev
创建连接
var Sequelize = require('sequelize'); var sequelize = new Sequelize(dbName, dbUser, dbPas, { host: dbHost, dialect: 'mysql', pool: { max: 5, min: 0, idle: 10000 }, define: { timestamps: false //关闭时间戳 } })
sequelize wiki
models生成 sequelize-auto 插件
models生成 可在auto 目录中执行密令
1. 进入 auto文件夹输入 $ node auto.js2. 执行完 auto.js 会生成models及表实体类并且导出为index.js
auto.js文件所执行命令,也可手动在终端输入此命令
sequelize-auto -h "数据库地址" -d "数据库名" -u "用户名" -x "密码" -p "端口号" --dialect mysql -o "生成文件的路径"
生产环境部署 pm2 配置
生产环境 centos 7 以及上述所有依赖
全局安装 npm install pm2 -g $ pm2 -v > 3.5.1 配置 pm2.conf.json 打印日志输出文件 "out_file": "./out.log", "error_file": "./out.log" "instances": 2 //打开多任务作为负载均衡
生产部署步骤
build 生成app.js webpack打包方案
npm run build
上传服务器文件$ pm2 list //查看已运行服务
$ pm2 stop 0 //停止响应的进程
ps: 在此服务已经发布完成,可以根据服务器 ip:8081调用,在次更新只需把打好的app.js上传服务器,重启即可