3、待处理
待处理
版权声明
本着开源共享、共同学习的精神:
本文是记录了 博主Ruyu 开源项目:《Ruyu-Blog 》https://gitee.com/kuailemao/ruyu-blog 部署&使用过程得一些细节,转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢~
强烈推荐:
博主Ruyu :
Ruyu-Blog开源博客gitee地址:https://gitee.com/kuailemao/ruyu-blog
Ruyu-Blog开源博客网站地址:https://www.kuailemao.xyz/
① bug
2024.7.23-现在有一个问题,评论,点赞,收藏,新增后,文章列表数量不会变化,已经找到问题(bug已修复)(已解决)
2024.7.18-新注册的用户头像传失败,请先登录(bug已修复)(已解决)
1.问题现象
这里的头像没问题:
但是我用one用户登录上去,发现头像换是不能更改:(还是之前的bug。。。。)
2.排查过程
看下数据库里one情况:
select *from sys_user\G
更新了还是有问题:。。。
看来只能手动更新数据库里信息了:
UPDATE `sys_website_info`
SET
`webmaster_avatar` = 'https://onedayxyy.cn/images/xyy.png',
`webmaster_name` = 'One',
`webmaster_copy` = '明心静性,爱自己',
`webmaster_profile_background` = 'http://new-background-url.com/background.png',
`gitee_link` = 'https://gitee.com/onlyonexl',
`github_link` = 'https://gitee.com/onlyonexl',
`website_name` = 'One',
`header_notification` = '欢迎访问我的个人博客,希望你能喜欢!',
`sidebar_announcement` = '欢迎指出网站的不足,给我提供意见',
`record_info` = '备案信息',
`start_time` = '2024-01-02 16:00:25',
`create_time` = '2023-12-28 14:28:10',
`update_time` = '2024-01-23 22:38:24',
`is_deleted` = 0
WHERE `id` = 88065989;
现在往里面插数据:(呃呃,不是update数据,要insert数据)
查看:
select *from sys_user\G
不行。
插入数据:
INSERT INTO `sys_website_info` VALUES (88065989, 'https://onedayxyy.cn/images/xyy.png', 'One', '明心静性,爱自己', 'http://new-background-url.com/background.png', 'https://gitee.com/onlyonexl', 'https://gitee.com/onlyonexl', 'One', '欢迎访问我的个人博客,希望你能喜欢!', '欢迎指出网站的不足,给我提供意见', 'Copyright 2023-2024 One & ICP2023002645', '2024-01-01 16:00:25', '2023-12-27 14:28:10', '2024-01-22 22:38:24', 0);
select *from sys_website_info\G
验证:
重启myql:
呃呃,还是不行:。。。。
这个头像有问题,也会导致我我的树洞那里的头像都是空白的:。。。
感觉像是代码bug问题:。。。
再次测试:。。。
ET大佬指导
自己配置
blog的
[root@ruyub-blog-prod kuailemao-blog]# cat .env.production
# 生产环境配置
NODE_ENV = production
# 博客代理
VITE_APP_BASE_API = '/api'
# 后台域名
VITE_SERVE=''
# 前台域名
VITE_FRONTEND_URL = ''
# 音乐代理地址
VITE_MUSIC_BASE_API = '/wapi'
# 音乐后台
VITE_MUSIC_SERVE=''
# 音乐前端地址
VITE_MUSIC_FRONTEND_URL = ''
# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = ''[root@ruyub-blog-prod kuailemao-blog]# cat .env.development
# 开发环境配置
NODE_ENV = development
# 博客代理地址
VITE_APP_BASE_API = '/api'
# 博客后台
VITE_SERVE=''
# 前台域名
VITE_FRONTEND_URL = ''
# 音乐代理地址
VITE_MUSIC_BASE_API = '/wapi'
# 音乐前端地址
VITE_MUSIC_FRONTEND_URL = ''
# 音乐后台
VITE_MUSIC_SERVE=''
# 自己部署的一言接口,如果不填写会默认使用官网的接口,官网接口有每分钟qps限制,有时会得不到想要的结果
VITE_YIYAN_API = ''[root@ruyub-blog-prod kuailemao-blog]#
admin的
[root@ruyub-blog-prod kuailemao-admin]# cat .env.production
VITE_APP_BASE_API=/api
VITE_APP_BASE_URL=http://blog.kuailemao.xyz:8088
# The title of your application (string)
VITE_GLOB_APP_TITLE="antdv-pro"
VITE_APP_PROD=false[root@ruyub-blog-prod kuailemao-admin]# cat .env.development
# VITE_APP_BASE_API=/api
VITE_APP_BASE_URL=http://localhost:8088
VITE_APP_LOAD_ROUTE_WAY=BACKEND
VITE_APP_DOMAIN_NAME=http://43.136.78.47:9000/
# VITE_APP_BASE_API_DEV=/dev-api
# VITE_APP_BASE_URL_DEV=http://127.0.0.1:8080
# The title of your application (string)
VITE_GLOB_APP_TITLE="antdv-pro"
VITE_APP_PROD=true
[root@ruyub-blog-prod kuailemao-admin]#
作者的文档🐱🚀
修改后
[root@ruyub-blog-prod kuailemao-blog]# cat .env.production
# 生产环境配置
NODE_ENV = production
# 博客代理
VITE_APP_BASE_API = '/api'
# 后台域名
VITE_SERVE='http://blogadmin.onedayxyy.cn/'
# 前台域名
VITE_FRONTEND_URL = 'http://blog.onedayxyy.cn/'
# 音乐代理地址
VITE_MUSIC_BASE_API = '/wapi'
# 音乐后台
VITE_MUSIC_SERVE=''
# 音乐前端地址
VITE_MUSIC_FRONTEND_URL = ''
[root@ruyub-blog-prod kuailemao-admin]# cat .env.production
VITE_APP_BASE_API=/api
VITE_APP_BASE_URL=http://blog.kuailemao.xyz:8088 ###这个为啥是http://blog.kuailemao.xyz:8088????
# The title of your application (string)
VITE_GLOB_APP_TITLE="antdv-pro"
总感觉这个不靠谱……。。。。。
进行测试(决定不进行测试,搁置。。。)
2024年7月23日
群主反馈。。。
原理
vite文档
原理可以看看vite文档https://cn.vitejs.dev/guide/env-and-mode.html#env-files
3.解决办法
自己测试
blog-frontend/kuailemao-blog/src/views/Setting/index.vue
const uploadAvatar = import.meta.env.VITE_SERVE + '/api/user/auth/upload/avatar'
配置:
cd ruyu-blog/blog-frontend/kuailemao-blog/
vim src/views/Setting/index.vue
原来内容:
配置后内容:
const uploadAvatar = import.meta.env.VITE_SERVE + '/api/user/auth/upload/avatar'
重新构建:
#重新构建dist
cd /root/ruyu-blog/blog-frontend/kuailemao-blog/
rm -rf dist
pnpm install
pnpm build
#删除老容器和老镜像
docker rm -f blog-qt
#docker rmi -f blog-qt
#构建新镜像和启动新容器
docker build . -t blog-qt-v1.3.0-v6-2024.7.28
docker run --name blog-qt -d -p 80:80 blog-qt-v1.3.0-v6-2024.7.28
###
4.效果验证
验证:
做快照:
2024.7.14-文章顶 部和菜单栏有重合(待解决)😒
- 故障现象:文章顶部和菜单栏有重合
http://kuailemao.xyz/article/48
② 待处理
nginx-proxy-manager
https://nginxproxymanager.com/
音乐模块
案例:M大佬的
2024.8.2-底部改成了动态渐变色,参考掐指一算大佬的
2024.8.1-自己网站升级为https(待解决)
https://icc.cool/ (这个大佬是https的了)
2024.8.1-一言接口配置(待解决)
目前存在的问题:
有时候可以,有时候不行……
群主回答:
2024.7.26-如何修改ruyu-blog后台admin密码
这里也没修改admin用户密码的位置呀?
admin可以通过忘记密码更改;(但是我更改后还是无法正常登录……)
通过数据库如何更改??
也可以创建一个普通用户,然后给于超级管理员权限,再把admin用户给禁用掉。(当前的做法)
2024.7.26-如 何备份博客数据及docker数据
2024.7.26-自己的音乐播放器无法正常打开(待解决)
故障现象
我这里的音乐怎么有问题了呢???
作者的音乐都是OK的:
排查过程
容器成功:
访问容器:
真的很奇怪,这个该如何排查呢???
搁置吧(后续去除这个功能)
如何把这里的音乐改成知识库
我不需要自己的博客里放置很多无用的音乐:。。。。,有下面那个音乐小图标就足够了;
我把这里的音乐改成知识库,然后做一个跳转。
在源代码里找下有关音乐的配置:
呃呃,具体在哪里修改呢???
在数据库里吗???
2024.7.23-表情包文件导入minio
2024.7.20-有些文件源地址还是在群主minio里(待解决)😒
2024.7.23-把一些硬编码功能拿出来放后台
2024.7.20-首页背景图片配置(待解决)😒
期待状态:把这个功能提取出来,放在后台,大家可轻松配置。
2024.7.16-代码折叠区域应显示部分代码(待解决)😒
http://kuailemao.xyz/article/48
- 问题现象
代码折叠区域应显示部分代码,不然啥也没显示,会误导大家以为这里作者忘记写代码了……🤣
2024.7.14-文章目录太小(已解决)😒
次问题:群主已解决哦,nice。
http://kuailemao.xyz/article/48
- 当前现象
文章太长后,文章目录不能全部显示,需要手动滑动,这个对用户来说会不是很友好。
理想的状态是:打开一片长文章后,目录会自动折叠,进入到某个小标题后,目录内容会自动展开。
- 解决后效果
2024.7.14-ruyu-blog做了反扒限制吗?(待解决)😒
- 故障现象
ruyu-blog做了反扒限制吗?
我用简悦剪藏文章时,出了问题;
将网页内容拷贝到typora时,也会有很大问题……
2024.7.1-范例:是否需要重构博客?
2024.7.24-这里的方法次数判定方法是什么?
我自己测试了下,刷新该网页,这个计数不会增加;
关闭网页,再打开时,这个计数也不会增加;
我用手机打开网页后,这个计数也不会增加;
**那么问题来了,这个是后台通过判断ip来增加计数的吗?**🤣
问题:能否把使用启动 一个docker镜像就部署好这个博客呢?
后端:nodejs、mvn、pnpm环境--运行springboot项目
前端前台:pnpm
前端后台:pnpm
在一台cnetos7云服务器上,
基于centos7镜像:
构建->打镜像->起容器。
感觉上是可行的:
gpt提问
ruyu-blog是一个前后端分离项目,后端由springboot项目来构建好blog-backend-0.0.1-SNAPSHOT.jar文件,前端前台由pnpm构建输出dist目录,前端后台台由pnpm构建输出dist目录。然后利用docker通过Dockerfile构建镜像,最后启动3个容器来运行博客服务。
我现在的需求是,能否使用启动一个docker镜像就部署好这个博客呢?因为springboot项目的构建需要依赖一些地产服务,例如mysql、redis、rabbit、minio等,能否把这些服务一起打到这个centos7镜像,而这些服务最好是在centos7里能以docker方式部署。
然后我们把项目源代码通过docker给映射到宿主机,只要修改宿主机里的相关文件,就能够完成新代码的编译,构建,启动容器等服务,通过一键起一个centos7镜像就完成,这个能实现吗?
gpt回答
可以实现这样的需求,但是综合 考虑到依赖程序的复杂性,建议使用 Docker Compose 来简化多容器服务的管理和部署。通过 Docker Compose,您可以定义和运行多容器 Docker 应用程序。下面是一个方案,展示如何实现您的需求。
1. 创建项目目录结构
首先,创建一个项目目录,并在其中创建以下子目录和文件:
ruyu-blog/
├── backend/
│ └── blog-backend-0.0.1-SNAPSHOT.jar
├── frontend/
│ └── dist/(包含前台和后台的构建输出)
├── docker/
│ ├── Dockerfile
│ └── docker-compose.yml
└── README.md
2. 创建 Dockerfile
在 docker/
目录下创建一个 Dockerfile
来构建包含所有依赖服务的镜像:
# 使用官方 CentOS 7 基础镜像
FROM centos:7
# 安装必要的工具和依赖
RUN yum update -y && \
yum install -y \
java-1.8.0-openjdk \
wget \
git \
curl && \
yum clean all
# 安装 Docker CLI
RUN curl -fsSL https://get.docker.com | sh
# 安装 Docker Compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
# 设置工作目录
WORKDIR /app
# 复制项目代码到镜像中
COPY ../backend /app/backend
COPY ../frontend /app/frontend
COPY docker-compose.yml /app/
# 暴露必要的端口(根据实际项目需要调整)
EXPOSE 8080 80
# 启动 Docker Compose 服务
CMD ["docker-compose", "up"]
3. 创建 docker-compose.yml
在 docker/
目录下创建 docker-compose.yml
文件,定义所有服务:
version: '3.8'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: ruyu_blog
MYSQL_USER: user
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
redis:
image: redis:alpine
ports:
- "6379:6379"
rabbitmq:
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672"
minio:
image: minio/minio
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
command: server /data
ports:
- "9000:9000"
volumes:
- minio_data:/data
backend:
image: openjdk:8-jre-alpine
container_name: blog_backend
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/ruyu_blog
SPRING_DATASOURCE_USERNAME: user
SPRING_DATASOURCE_PASSWORD: password
MINIO_URL: http://minio:9000
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
REDIS_HOST: redis
RABBITMQ_HOST: rabbitmq
ports:
- "8080:8080"
volumes:
- ../backend:/app
command: ["java", "-jar", "/app/blog-backend-0.0.1-SNAPSHOT.jar"]
frontend:
image: nginx:alpine
container_name: blog_frontend
volumes:
- ../frontend/dist:/usr/share/nginx/html
ports:
- "80:80"
volumes:
mysql_data:
minio_data: