yudao-cloud 基本服务启动
yudao-cloud 基本服务启动步骤,为了后面的开发做铺垫
环境准备
下载项目
git clone https://github.com/YunaiV/yudao-cloud.git
使用 IDEA 打开,记得修改一下 repository 不然都去 C 盘了那滋味。。。。
这时候 IDEA 应该会自动下载依赖,等待一会。
这时候我们开始准备 yudao-cloud 的基本环境。我使用的是docker + docker-compose 模式记得提前下好 docker,如果是Windows的直接下一个 docker-desktop就都带了
我这个版本的 nacos 是基于 derby 模式,不需要数据库,yudao-cloud 默认是不需要 config 的,只需要 nacos 的注册中心即可
services:
# Mysql 请自己从数据库拿到相应的表然后导入,默认不含有任何的数据库
test-yudao-mysql:
image: mysql:${MYSQL_VERSION}
container_name: "test-yudao-mysql"
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
TZ: Asia/Shanghai
ports:
- ${MYSQL_PORT}:3306
volumes:
- ./mysql/data/:/var/lib/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
command:
- --mysql-native-password=on
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
- --lower_case_table_names=1
# 最大链接数
- --max_connections=10000
# - --sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
- --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 仅支持 derby 模式,线上不允许使用 derby 模式。并且该配置没有配置开启相关的权限验证。
test-yudao-nacos:
image: nacos/nacos-server:${NACOS_VERSION}
container_name: "test-yudao-nacos-standalone"
depends_on:
- test-yudao-mysql
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- NACOS_AUTH_IDENTITY_KEY=serverIdentity
- NACOS_AUTH_IDENTITY_VALUE=security
- NACOS_AUTH_ENABLE=${NACOS_AUTH_ENABLE}
- NACOS_AUTH_TOKEN=${NACOS_AUTH_TOKEN}
volumes:
- ./nacos/standalone-logs:/home/nacos/logs
- ./nacos/data:/home/nacos/data
ports:
- ${NACOS_PORT_1}:8848
- ${NACOS_PORT_2}:9848
test-yudao-redis:
image: redis:${REDIS_VERSION}
restart: unless-stopped
container_name: "test-yudao-redis"
ports:
- ${REDIS_PORT}:6379
command: >
sh -c '
if [ -z "DBo29Us5" ]; then
redis-server /etc/redis/redis.conf
else
redis-server /etc/redis/redis.conf --requirepass ${REDIS_PASSWORD}
fi'
volumes:
- ./redis/data:/data
- ./redis/conf/redis.conf:/etc/redis/redis.conf
- ./redis/logs:/logs
在这个 docker-compose.yml 中同时创建一个 .env 文件用来统一管理变量
NACOS_VERSION=v2.4.3
NACOS_PORT_1=6001
NACOS_PORT_2=7001
NACOS_AUTH_TOKEN=改成你自己的TOKEN
NACOS_AUTH_ENABLE=true
MYSQL_VERSION=8.4.2
MYSQL_PORT=6003
MYSQL_ROOT_PASSWORD=123qwe
REDIS_VERSION=7.4.0
REDIS_PASSWORD=123qwe
REDIS_PORT=6006
这时候在 cmd 中执行下面的命令即可
docker-compose up -d
项目配置
先创建一个 ruoyi-vue-pro 库,导入 ruoyi-vue-pro.sql 数据库文件到 mysql 中
CREATE DATABASE `ruoyi-vue-pro` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
在第一次访问 nacos 的时候登录是账号、密码写什么就是什么所以要记住密码哦。
nacos 服务创建一个命名空间,目前在什么都不该的情况下命名规则就是 dev
直接像我这么写就好了省事。这时候对于 yudao-cloud 就已经好了
开始配置项目中的 mysql 、redis、nacos 等服务,我只跑基础服务(GatewayServerApplication、InfraServerApplication、SystemServerApplication)其他的服务都差不多
GatewayServer
--- #################### 注册中心 + 配置中心相关配置 ####################
spring:
cloud:
nacos:
# server-addr: 127.0.0.1:8848 # Nacos 服务器地址
server-addr: 127.0.0.1:6001 # Nacos 服务器地址,如果你就是8848就不管这个修改了
username: nacos # Nacos 账号
password: nacos # Nacos 密码
discovery: # 【配置中心】配置项
namespace: dev # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
config: # 【注册中心】配置项
namespace: dev # 命名空间。这里使用 dev 开发环境
group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
InfraServer
# 我只把修改的地方写出来了
spring:
cloud:
nacos:
# server-addr: 127.0.0.1:8848 # Nacos 服务器地址
server-addr: 127.0.0.1:6001 # Nacos 服务器地址,如果你就是8848就不管这个修改了
username: nacos # Nacos 账号
password: nacos # Nacos 密码
--- #################### 数据库相关配置 ####################
spring:
datasource:
dynamic: # 多数据源配置
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:6003/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
username: root
password: 123qwe
slave: # 模拟从库,可根据自己需要修改
lazy: true # 开启懒加载,保证启动速度
url: jdbc:mysql://127.0.0.1:6003/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: 123qwe
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
host: 127.0.0.1 # 地址
port: 6006 # 端口
database: 0 # 数据库索引
password: 123qwe # 密码,建议生产环境开启
SystemServer
# 我只把修改的地方写出来了
spring:
cloud:
nacos:
# server-addr: 127.0.0.1:8848 # Nacos 服务器地址
server-addr: 127.0.0.1:6001 # Nacos 服务器地址,如果你就是8848就不管这个修改了
username: nacos # Nacos 账号
password: nacos # Nacos 密码
--- #################### 数据库相关配置 ####################
spring:
datasource:
dynamic: # 多数据源配置
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:6003/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
username: root
password: 123qwe
slave: # 模拟从库,可根据自己需要修改
lazy: true # 开启懒加载,保证启动速度
url: jdbc:mysql://127.0.0.1:6003/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: 123qwe
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
host: 127.0.0.1 # 地址
port: 6006 # 端口
database: 0 # 数据库索引
password: 123qwe # 密码,建议生产环境开启
其他模块也是这么修改,我这里只是做简单的启动
这时候看到 nacos 的服务列表已经有了3个服务
我们再来启动一下前端环境,还是通过 git 下载代码
git clone https://github.com/yudaocode/yudao-ui-admin-vue3.git
下载后打开 yudao-ui-admin-vue3 目录,运行终端执行下面的命令。这时候会通过 pnpm 安装,如果没有就 npm install
把 。
npm run i
安装好所有的依赖包后执行下面的命令运行这个项目
npm run dev
打开浏览器输入:http://localhost:81 点击登录后
至此基础服务基本安装成功了,其他模块安装官网配置即可
注:
[1] 官网:https://cloud.iocoder.cn/