Skip to content

Commit de823fa

Browse files
committed
refactor: the module from single to integration
1 parent 412439e commit de823fa

336 files changed

Lines changed: 880 additions & 2011 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
1-
**一款简单且纯粹的博客系统**
1+
**一款简单且纯粹的博客系统** | **A Simple and Pure Blog System**
22

3-
**A Simple and Pure Blog System**
43

54

5+
**B端、C端的概念**
66

7-
**文件夹释义**
8-
9-
- blog-business-boot:后台管理系统后端
7+
- C端:Consumer(也可理解为Customer),通常为消费者、个人终端用户使用的客户端。如:淘宝主页、网易云主页。在博客系统中,C端主要为客户提供文章展示。
108

11-
- blog-business-vue2:后台管理系统前端
9+
- B端:Business,通常为企业内部或商家使用的系统或平台。如:企业内部ERP管理系统、财务管理平台等。在博客系统,B端主要为作者提供文章的管理(写文章、修改文章等)。
1210

13-
- blog-consumer:前台用户端
1411

15-
**B端、C端**
1612

17-
- C端:Consumer(也可理解为Customer),通常为消费者、个人终端用户使用的客户端。如:淘宝主页、网易云主页。在博客系统中,C端主要为客户提供文章展示。
13+
**项目聚合:Blog**
1814

19-
- B端:Business,通常为企业内部或商家使用的系统或平台。如:企业内部ERP管理系统、财务管理平台等。在博客系统,B端主要为作者提供文章的管理(写文章、修改文章等)。
15+
- blog-business:后台管理端的SpringBoot后端项目,单独打成Jar包运行
16+
- blog-business-web:后台管理的Vue2前端项目
17+
- blog-consumer:前台客户端的SpringBoot+Thymeleaf项目,前后端不分离(在服务器上渲染成HTML发给浏览器解析,这么做的主要目的是便于SEO),单独打成Jar运行
18+
- blog-common:通用的代码模块,例如配置类、util
2019

2120

2221

@@ -32,7 +31,7 @@
3231

3332
# 功能特性
3433

35-
> 版本0.6.0的功能特性
34+
**当前最新版本:1.0.0-RELEASE**
3635

3736
**文章管理(Article)**
3837

@@ -83,7 +82,7 @@
8382
**step1:环境准备&检查**
8483

8584
- Java:11
86-
- SpringBoot:2.3.12.RELEASE
85+
- SpringBoot:2.7.18
8786
- Apache Maven:3.6.3
8887
- Vue:2.6.11
8988
- Node:16.14.2
@@ -95,16 +94,15 @@
9594

9695
**B端**
9796

98-
1. 进入到blog-business-boot目录,执行初始化SQL:sql/blog_hackyle_com.sql
99-
2. 在IDEA中打开,等待Maven自动配置
100-
3. 运行启动类:/src/main/java/com/hackyle/blog/business/BlogBusinessApp.java
101-
4. 进入到blog-business-vue2目录,打开一个终端,安装依赖:npm install
97+
1. 执行初始化SQL:sql/blog_hackyle_com_dev.sql
98+
3. 运行启动类:blog-business#BlogBusinessApp.java
99+
4. 进入到blog-business-web目录,打开一个终端,安装依赖:npm install
102100
5. 运行项目:npm run serve
103101

104102
**C端**
105103

106-
1. 进入到blog-consumer目录,在IDEA中打开,等待Maven自动配置
107-
2. 运行启动类:/src/main/java/com/hackyle/blog/consumer/BlogConsumerApp.java
104+
1. 进入到blog-consumer目录
105+
2. 运行启动类:BlogConsumerApp.java
108106

109107
**Optional Step4:配置静态资源的存取**(如果不需要上传图片等静态资源可不配置)
110108

@@ -147,8 +145,7 @@ http {
147145
# 设计与实现概述
148146

149147
- 所有的请求全部打在Nginx上,使用Nginx进行分流到不同的本地服务上
150-
- 使用Minio作为静态资源的存取容器,符合数据与程序分离的思想
151-
- 使用HTTPs保证数据传输的安全性(测试环境的服务除外)
148+
- 正式环境使用HTTPs保证数据传输的安全性(测试环境为了方便不使用HTTPs)
152149

153150

154151

@@ -160,7 +157,7 @@ http {
160157

161158

162159

163-
## 阿里云服务器与域名
160+
## 云服务器
164161

165162
**Step1:购买云服务器** 基于以下服务所占用的内存,我购买的是2核2GB突发型实例(CentOS7.8-x64)
166163

@@ -180,10 +177,10 @@ Redis:100MB
180177

181178
**Step4:项目部署**
182179

183-
1. 前台项目部署:blog-consumer-boot.jar
180+
1. 前台项目部署:blog-consumer.jar
184181
1. **nohup java -jar blog-consumer-test.jar --spring.profiles.active=test >/dev/null 2>&1 &**
185182
2. 运行于端口:6111
186-
2. 后台后端项目部署
183+
2. 后台后端项目部署:blog-business.jar
187184
1. **nohup java -jar blog-business-boot-test.jar --spring.profiles.active=test >/dev/null 2>&1 &**
188185
2. 运行于端口:6101
189186
3. 后台前端项目部署:由于是Vue项目,直接使用npm打包为静态资源,上传到某个位置,直接交给Nginx解析
@@ -216,6 +213,21 @@ Redis:100MB
216213

217214

218215

216+
**主要步骤**
217+
218+
1. 在云服务器上,配置一个目录,专门存放静态资源(一般是图片),例如:/data/res.hackyle.com/
219+
2. 博客中的上传操作,经过文件流写到该个目录下
220+
3. 对外还是以https://res.hackyle.com的方式提供访问,通过nginx,解析到该个文件夹
221+
222+
223+
224+
**确定静态资源的存储目录:**/data/res.hackyle.com/
225+
226+
- 存储示例:/data/res.hackyle.com/业务名/年份/月份/文件名.拓展名
227+
- 例如博客(https://blog.hackyle.com),业务名为“blog”
228+
229+
230+
219231
**设定静态资源通过以下域访问:https://res.hackyle.com**
220232

221233
1. 为域(res.hackyle.com)申请DigiCert 免费版 SSL,下载key和pem文件
@@ -259,30 +271,15 @@ server {
259271
}
260272
```
261273

262-
**确定静态资源的存储目录:**/data/res.hackyle.com/
263-
264-
- 存储示例:/data/res.hackyle.com/业务名/年份/月份/文件名.拓展名
265-
- 例如博客(blog.hackyle),业务名为“blog”
266-
267-
268-
269-
**主要步骤**
270274

271-
1. 在云服务器上,配置一个目录,专门存放静态资源(一般是图片),例如:/data/res.hackyle.com/
272-
273-
2. 博客中的上传操作,经过文件流写到该个目录下
274-
275-
3. 对外还是以https://res.hackyle.com的方式提供访问,通过nginx,解析到该个文件夹
276-
277-
278275

279276
**移除Minio**
280277

281278
- minio是分布式的文件存储系统,文件会被分割为多个块,分布式存储于多个节点上,这对于简单系统的静态资源管理十分繁杂、冗余
282279

283280
- minio存储在单机节点上时,会产生多个文件夹,不方便备份、数据恢复
284281

285-
## Nginx
282+
## Nginx Conf
286283

287284
```
288285
# Blog-Test
@@ -296,7 +293,7 @@ server {
296293
}
297294
#B端的测试环境:前台
298295
location /business-front {
299-
alias /data/blog.hackyle.com/business-vue2-test/;
296+
alias /data/blog.hackyle.com/business-web-test/;
300297
index index.html;
301298
}
302299
#B端的测试环境:后台

blog-business-boot/src/main/java/com/hackyle/blog/business/common/config/MyBatisPlusConfig.java

Lines changed: 0 additions & 15 deletions
This file was deleted.

blog-business-boot/src/main/java/com/hackyle/blog/business/common/constant/GenderEnum.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

blog-business-boot/src/main/java/com/hackyle/blog/business/common/exception/TokenException.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

blog-business-boot/src/main/java/com/hackyle/blog/business/util/AESUtils.java

Lines changed: 0 additions & 105 deletions
This file was deleted.

blog-business-boot/src/main/java/com/hackyle/blog/business/util/DateFormatUtils.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)