开发该个人博客网站,主要是为了记录工作或学习中的,一些个人笔记,便于以后出现问题可以快速定位;设计初衷就是为了类似 wiki 一样,留下一些个人学习记录。以后有时间,查询改为全文检索。
springboot 2.4.5
MySQL 8.0
MybatisPlus 3.4.3
gradle 7.1.1
vue 2.6.11
antd 1.7.7
marked 2.0.7
mavon-editor 2.9.1
nuxt 2.14.5
node 16.15
【新增】博客首页,分页渲染博客列表
【新增】查看博客详情
【新增】临时推荐文档,书籍;捐赠支持功能
【新增】支持博客编辑,必须是登录后才能修改
【新增】博客目录树
【新增】发布博客
【优化】首页展示推荐书籍和文档样式
【新增】博客编辑支持上传图片
- 【优化】使用 nuxt 实现服务端渲染
- 【优化】搜索使用 lucene
- 【新增】引用百度统计来统计博客的访问量。
- 【优化】使用 markdown-it 渲染 markdown 语法,markedjs 渲染太丑。
- 【新增】实现自动部署 nuxtapp
- 【新增】github 添加 CI
- 【新增】优化 SEO
- 【新增】刷 leetcode 题目,自动同步到本博客。
- 【新增】支持gradle自动发release包。
技术实现:
- 使用 tampermonkey,写一个脚本插件。
- 全局拦截一下 LeetCode 的提交代码请求,然后响应正确的话,就直接将代码代码和题目信息,同步到个人博客中。
数据库脚本
使用数据库客户端,执行目录下back-end/db/createTable.sql
文件。
前端 (front-end)
npm install
npm run serve
前端 (nuxtapp)
npm install
npm run dev
后台 (back-end)
开发启动
java -jar -Dspring.profiles.active=dev back-end.jar
在项目的根目录执行下面命令,会在产生release包。
./gradlew release
scp -i ~/.ssh/id_rsa -r /Users/noodzhan/IdeaProjects/noodb/front-end/dist ubuntu@1.15.231.74:/home/ubuntu/nblog/front-end
- 上传到服务器
scp -i ~/.ssh/id_rsa -r ./.nuxt nuxt.config.js package.json package-lock.json ./static ubuntu@1.15.231.74:/home/ubuntu/nblog/nuxtapp
- 进入相关目录
cd /home/ubuntu/nblog/nuxtapp
- 安装依赖
npm install
- 后台执行 nuxt
nohup npm run start &
- 验证是否启动
curl http://localhost:3000
注意: 杀掉 npm 进程,可能没有用。必须杀掉 3000 端口占用的进程。
查看端口占用进程
lsof -i:3000
scp -i ~/.ssh/id_rsa /Users/noodzhan/IdeaProjects/noodb/back-end/build/libs/back-end-1.0.0.jar ubuntu@1.15.231.74:/home/ubuntu/nblog/noodb-blog-jar
nohup java -jar -Dspring.profiles.active=dev back-end.jar &
scp -i ~/.ssh/id_rsa nblog-nginx.conf ubuntu@1.15.231.74:/etc/nginx/conf.d
nginx -t
nginx -s reload