Koa+MySql搭建博客后台记录(一)

1,647 阅读3分钟

基础环境搭建

1. 安装nginx

服务器安装好系统后,我选择先安装nginx

参考文章: Linux安装Nginx详细教程

按照教程很快就能安装成功,我并没选择Nginx,而选择的是tengine,淘宝版的Nginx

编辑nginx.conf,如果按照文章安装的路径是在/usr/local/nginx/conf文件夹下

在原有server同级加一段,测试是否可以访问

server {
    listen       8090;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

重启nginx,进入/usr/local/nginx/sbin

输入命令./nginx -s reload

如果是服务器有端口限制,记得先开放端口限制,一切顺利的情况下,访问的页面内容如下图 image.png



2. 安装MySql

参考文章: CentOS7 安装 mysql8

我安装Mysql的经验不多,反复按照文章安装了三五次才成功

由于我不了解iptables,而且安装后,使用Navicat连接不上mysql,所以并没有安装

文章安装的是MySql8,重置root登录密码需要注意

如果重置密码后,使用Navicat连接不上mysql,建议重新安装mysql

补充忘记密码后,如何重置密码的文章:mysql8.0以上的版本忘记root密码如何重置

一切顺利后,使用Navicat连接数据库,并新建blog数据库

image.png



3.安装NodeJs

NodeJs安装地址

安装成功之后,再全局安装nodemon

npm install -g nodemon

nodemon支持对js文件的热更新,在开发过程中比较方便



4.创建Git仓库

我个人使用的线上git仓库是码云

创建仓库后如下图 image.png

git clone 项目地址

克隆项目后,就可以准备开发了

最后再推荐一个git可视化软件sourcetree



后端框架搭建

1.安装Koa

在项目文件夹blog-back-end下,创建node项目

   npm init
   npm i Koa -S

安装后新建index.js

// 引入node模块
const Koa = require('koa')
// 实例化
const app = new Koa()

app.use(async (ctx, next) => {
  ctx.body = 'Hello World'
})

app.listen(3000, () => {
  console.log('server is runing on port 3000')
})

打开cmd或在vscode打开总端,输入

nodemon index.js

或者在package.jsonscripts下加一句

"dev": "nodemon ./index.js",

image.png

打开浏览器,访问http://localhost:3000/ 测试是否成功

image.png

2.使用数据解析模块koa-bodyparser

   npm i koa-bodyparser -S
// 请求数据解析模块
const bodyParser = require('koa-bodyparser')
// 调用
app.use(bodyParser())

3.使用静态资源模块koa-static

先在项目目录下,新建两个文件夹public和static

   npm i koa-static -S
// 请求数据解析模块
const serve = require('koa-static')
// 可以指定多个静态目录
app.use(serve(__dirname + '/static'))
app.use(serve(__dirname + '/public'))

可以放些图片在文件夹下测试,是否能访问成功

image.png

4.使用跨域模块koa2-cors

   npm i koa2-cors -S
// 跨域模块
const cors = require('koa2-cors')
// koa中间件调用
app.use(cors())

5.使用路由模块koa-router

   npm i koa-router -S
// 路由模块
const Router = require('koa-router')
// koa中间件调用
app.use(router.routes()).use(router.allowedMethods())

6.使用到的其他模块

   npm i koa-logger -S
   npm i koa-onerror -S
// 日志模块
const logger = require('koa-logger')
onerror(app)


// 错误处理模块
const onerror = require('koa-onerror')
// koa中间件调用
app.use(logger())