阿八博客
  • 100000+

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

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

方法名属性返回结果create添加return 所添加信息 ObjectbulkCreate批量添加return 所添加信息 ArrayfindOne查询单条return ObjectfindByPk根据主键查询return ObjectfindAll查询return ArrayfindAndCountAll分页查询return Object -> count:Number,rows:Arrayupdate更新return 1 or 0 Numberdestroy删除return 1or 0 Number

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上传服务器,重启即可

我是一只孤独的狼......欢迎star

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!