From 37554519eff3d3d4947993057113c6935b6c6b4b Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 7 Nov 2024 13:39:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=F0=9F=93=9A=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReadMe.md | 173 +++++++++++++++++++++- images/ReadMe/image-20241107133345299.png | Bin 0 -> 36069 bytes 2 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 images/ReadMe/image-20241107133345299.png diff --git a/ReadMe.md b/ReadMe.md index be3c6dd..1adafbb 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1,13 +1,182 @@ -Github地址 +# 项目预览 + +不知道为什么,图床用的使自己的,Gitee就是不显示其它GitHub和Gitea都能显示就Gitee显示不出来 + +或者把项目clone下来看也可以 + +**线上地址** + +- 正式线上预览地址:http://111.229.137.235/#/welcome + +- 测试预览地址:http://106.15.251.123/#/welcome + - 服务器到期时间:12月30日 + +**Github地址** - [前端地址](https://github.com/BunnyMaster/bunny-admin-web.git) - [后端地址](https://github.com/BunnyMaster/bunny-admin-server) -Gitee地址 +**Gitee地址** - [前端地址](https://gitee.com/BunnyBoss/bunny-admin-web) - [后端地址](https://gitee.com/BunnyBoss/bunny-admin-server) +## 环境搭建 + +### 安装docker内容 + +如果使用是centos或者是rocky + +```shell +# 更新yum 和 dnf +yum update -y +dnf update -y + +# 安装必要依赖 +yum install -y yum-utils device-mapper-persistent-data lvm2 + +# 设置镜像源 +sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo +yum list docker-ce --showduplicates | sort -r + +# 安装docker +yum -y install docker-ce.x86_64 + +# 开机启动docker +systemctl enable docker +systemctl start docker +``` + +### 安装Redis + +#### 编写配置文件 + +```sh +mkdir /bunny/docker_data/my_redis/ -p +vim /bunny/docker_data/my_redis/redis.conf +``` + +**添加以下内容** + +有注释大概率启动不了 + +``` +# bind 127.0.0.1 #注释掉这部分,使redis可以外部访问 +daemonize no #用守护线程的方式启动 +requirepass 123456 +appendonly yes #redis持久化  默认是no +tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 +``` + +**删除注释** + +``` +daemonize no +requirepass 123456 +appendonly yes +tcp-keepalive 300 +``` + +#### 启动Redis + +```sh +docker pull redis:7.0.10 +docker run -p 6379:6379 --name redis_master \ +-v /bunny/docker_data/redis_master/redis.conf:/etc/redis/redis.conf \ +-v/bunny/docker_data/redis_master/data:/data \ +--restart=always -d redis:7.0.10 --appendonly yes +``` + +### 安装Minio + +```sh +docker run -d \ + -p 9000:9000 \ + -p 9090:9090 \ + --name minio_master --restart=always \ + -v /bunny/docker/minio/data:/data \ + -e "MINIO_ROOT_USER=bunny" \ + -e "MINIO_ROOT_PASSWORD=02120212" \ + minio/minio server /data --console-address ":9090" +``` + +### 安装MySQL + +**设置开机启动** + +**执行启动3306:** + +```sh +docker stop master +docker rm master + +docker run --name master -p 3306:3306 \ +-v /bunny/docker_data/mysql/master/etc/my.cnf:/etc/my.cnf \ +-v /bunny/docker_data/mysql/master/data:/var/lib/mysql \ +--restart=always --privileged=true \ + -e MYSQL_ROOT_PASSWORD=02120212 \ + -e TZ=Asia/Shanghai \ + mysql:8.0.33 --lower-case-table-names=1 +``` + +**执行启动3304:** + +其中有创建备份目录 + +```shell +docker stop slave_3304 +docker rm slave_3304 + +docker run --name slave_3304 -p 3304:3306 \ + -v /bunny/docker_data/mysql/slave_3304/etc/my.cnf:/etc/my.cnf \ + -v /bunny/docker_data/mysql/slave_3304/data:/var/lib/mysql \ + -v /bunny/docker_data/mysql/slave_3304/backup:\ + --restart=always --privileged=true \ + -e MYSQL_ROOT_PASSWORD=02120212 \ + -e TZ=Asia/Shanghai \ + mysql:8.0.33 --lower-case-table-names=1 +``` + +**修改密码:** + +```sh +docker exec -it mysql_master /bin/bash +mysql -uroot -p02120212 +use mysql +ALTER USER 'root'@'%' IDENTIFIED BY "02120212"; +FLUSH PRIVILEGES; +``` + +> my.cnf 配置 +> +> ```sql +> [mysqld] +> skip-host-cache +> skip-name-resolve +> secure-file-priv=/var/lib/mysql-files +> user=mysql +> +> # 设置字符集 +> character-set-server=utf8mb4 +> collation-server=utf8mb4_unicode_ci +> +> # 设置服务器ID(如果是复制集群,确保每个节点的ID唯一) +> server-id=1 +> +> # 启用二进制日志 +> log-bin=mysql-bin +> +> # 设置表名不区分大小写 +> lower_case_table_names = 1 +> +> ``` + +### 数据库文件 + +在后端文件的根目录中 + +![image-20241107133345299](http://116.196.101.14:9000/docs/image-20241107133345299.png) + # 项目特点 ### 按钮权限显示 diff --git a/images/ReadMe/image-20241107133345299.png b/images/ReadMe/image-20241107133345299.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b212d51f339c5ade211db5fbe7223248742933 GIT binary patch literal 36069 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 Zd&J2h*T%I#_ZIjyNl`g)*?YY&{}-_aYo`DJ literal 0 HcmV?d00001