详细版
实战:docker部署全网最美博客ruyu-blog(简洁、唯美、丝滑)(小白喜欢的手把手文档)(最新)-v5-2024.7.21(测试成功)(详细版)
目录
[toc]
版权声明
本着开源共享、共同学习的精神:
本文是在 博主Ruyu 文章:《Ruyu-Blog 博客项目部署文档》https://www.kuailemao.xyz/article/48 基础上增加了自己实践过程的一些细节,转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢~
强烈推荐:
博主Ruyu :
Ruyu-Blog开源博客gitee地址:https://gitee.com/kuailemao/ruyu-blog
Ruyu-Blog开源博客网站地址:https://www.kuailemao.xyz/
博客介绍
基于 SpringBoot3 + Vue3 + TypeScript+ Mysql + Redis + RabbitMQ + SpringSecurity 的前后台个人博客系统。
==项目特点==
- 前端参考了众多优秀博客大佬设计,页面美观,响应式布局
- 后台管理基于 Antdv Pro 后台通用框架二次开发
- 前后端分离,Docker Compose 一键部署
- 采用 RABC 权限模型,使用 SpringSecurity 进行权限管理
- 支持动态权限修改、动态菜单和路由
- 文章、分类、标签、时间轴、树洞、留言板、聊天、友链等模块
- 站长介绍、公告、电子时钟、随机文章、每日鸡汤、网站资讯
- 支持代码高亮、图片预览、黑夜模式、点赞、收藏、评论等功能
- 评论支持在线预览、Markdown、表情包
- 发送友链申请、通过等自动发送邮件提醒
- 接入第三方 gitee、github登录,减少注册成本
- 文章编辑使用 Markdown 编辑器
- 实现日志管理(操作、登录),服务监控、用户、菜单、角色、权限管理
- 使用 自己搭建 minio 进行图片存储(避免了使用第三方对象存储被刷流量问题)😍
- 使用 Spring Aop + Redis 对接口进行了限流处理(每分钟),后端使用 JSR 303 对参数校验,使用 Spring Aop + RabbitMQ 对后台操作日志处理
- 采用 Restful 风格的 API,注释完善,后端代码使用了大量 stream 流编程方式,代码非常美观
- ……
==技术介绍==
前台前端(博客): Vue3 + Pinia + Vue Router + TypeScript + Axios + Element Plus + Echarts……
后台启动(管理): Vue3 + Pinia + Vue Router + TypeScript + Axios + Antdv Pro + Ant Design Vue……
后端: JDK17 + SpringBoot3 + SpringSecurity + Mysql + Redis + Quartz + RabbitMQ + Minio + Mybatis-Plus + Nginx + Docker……
其他: Gitee、Github 第三方登录
更新内容😉
次v5文档相对v4文档,更新如下2部分位置:
更新位置1:更新application.yml里mino api端口号为9000
cd /root/ruyu-blog-v1.2.0/blog-backend/
#vim src/main/resources/application.yml
之前作者部署文档里为9001,部署之后在发布文章时无法正常上传图片,会报如下错误。
更新位置2:给博客前端前台的default文件里添加选项
cd /root/ruyu-blog-v1.2.0/blog-frontend/kuailemao-blog
vim default.conf (覆盖源代码)
# 定义HTTP服务器
server {
listen 80; # 监听端口
server_name localhost; # 域名
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
# 配置代理路径
location /api/ {
proxy_pass http://192.168.1.100:8088/; # 转发请求的目标地址
proxy_set_header Host $host; # 设置请求头中的Host字段
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 设置HTTP头中的X-Forwarded-For字段,表示客户端真实IP,多个IP用逗号隔开
proxy_set_header X-Real-IP $remote_addr; # 设置请求头中的X-Real-IP字段,表示客户端真实IP
client_max_body_size 100M;
}
# 配置代理路径
location /wapi/ {
proxy_pass http://192.168.1.100:3000/; # 转发请求的目标地址
}
# 配置错误页面
error_page 404 /404.html; # 404错误页
location = /404.html {
internal; # 不接受外部访问
root /usr/share/nginx/html; # 404错误页文件所在目录
}
}
更新3:把minio配置在了公网服务器上💖
为什么要把minio专门配置在公网服务器上?
因为我ruyu-blog是部署在家里局域网内的1台小主机上,然后通过frp出去(8080-blog-前端前台web,8081-admin-前端后台)提供服务。但是经测试,博客文章封面一直无法正常加载,经大佬指点,将minio配置在公网服务器上后,这个问题就可以解决了,效果如下。