项目部署
# 环境说明
| 软件 | 版本 | 备注 |
|---|---|---|
| Java | 17以上 | 必须 |
| MySQL | 8以上 | 必须 |
| Redis | 3.2+ | 必须 |
| Maven | 3.6.3+ | 必须 |
| Nacos | 2.1.0 | 必须 |
| xxl-job-admin | 2.4.0 | 项目当中没有用到,所以在启动项目的时候可以不用 |
| ES | 7.0+ | 其实好像都可以,主要用于日志搜集,当然如果不需要的话,可以关闭 |
| IDEA | 2019+ | 需要安装lombok插件 |
# 一、项目下载
git clone https://github.com/Gyv12345/yt4j.git
# 二、环境要求
| 软件 | 版本 | 备注 |
|---|---|---|
| Java | 17+ | 必须 |
| MySQL | 8.0+ | 必须 |
| Redis | 3.2+ | 必须 |
| Maven | 3.6.3+ | 必须 |
| Nacos | 2.1.0+ | 必须 |
| xxl-job-admin | 2.4.0 | 可选,项目未强制使用 |
| Elasticsearch | 7.0+ | 可选,用于日志搜集,不需要可以关闭 |
| IDEA | 2019+ | 开发工具,需安装lombok插件 |
# 安装提示
Java 17+: yt4j 使用 Spring Boot 3.x,要求 Java 17 或更高版本。
Nacos: 推荐使用 Docker 快速启动:
docker run -d \
-e MODE=standalone \
-p 8848:8848 \
--name nacos \
nacos/nacos-server:v2.1.0
# 三、配置数据库
数据库脚本说明,在项目 db 目录下:
db/schema.sql # 建库语句
db/yt4j.sql # 核心数据库
db/yt4j_crm.sql # crm模块的数据库语句
# 3.1 创建数据库
执行 schema.sql 创建数据库:
-- 创建核心数据库
CREATE DATABASE IF NOT EXISTS `yt4j` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建CRM数据库
CREATE DATABASE IF NOT EXISTS `yt4j_crm` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 3.2 导入数据
# 导入核心表结构
mysql -u root -p yt4j < db/yt4j.sql
# 导入CRM模块表结构
mysql -u root -p yt4j_crm < db/yt4j_crm.sql
# 四、配置本地HOST
项目的配置文件中基本上都是以域名形式去访问,所以需要配置 host:
# Mac/Linux
sudo vim /etc/hosts
# Windows (以管理员身份运行记事本,打开 C:\Windows\System32\drivers\etc\hosts)
# 添加以下内容
127.0.0.1 yt4j-mysql
127.0.0.1 yt4j-redis
127.0.0.1 yt4j-nacos
127.0.0.1 yt4j-admin
# 为什么需要配置 Host?
使用域名而不是 localhost 或 IP 的好处:
- 便于区分不同环境的配置
- 便于切换到生产环境(只需修改 DNS 或 hosts)
- 避免跨域问题
# 五、启动 Nacos
# 5.1 启动 Nacos 服务
访问 Nacos 控制台:http://localhost:8848/nacos
- 默认账号:
nacos - 默认密码:
nacos
# 5.2 创建命名空间(可选)
建议为不同的环境创建不同的命名空间:
dev: 开发环境test: 测试环境prod: 生产环境
# 5.3 导入配置文件
在 Nacos 配置管理中创建以下配置:
| 配置文件 | Data ID | Group | 说明 |
|---|---|---|---|
| 公用配置 | application-common.yml | DEFAULT_GROUP | 公共配置 |
| 网关配置 | yt4j-gateway.yml | DEFAULT_GROUP | 网关配置 |
| 系统配置 | yt4j-sys.yml | DEFAULT_GROUP | 系统模块配置 |
| CRM配置 | yt4j-crm.yml | DEFAULT_GROUP | CRM模块配置 |
配置文件位于项目的 config/ 目录下,将对应的内容复制到 Nacos 中。
# 5.4 配置示例
application-common.yml(示例):
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://yt4j-mysql:3306/yt4j?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
data:
redis:
host: yt4j-redis
port: 6379
database: 0
password:
timeout: 10s
lettuce:
pool:
min-idle: 0
max-idle: 8
max-active: 8
max-wait: -1ms
cloud:
nacos:
discovery:
server-addr: yt4j-nacos:8848
namespace: ${spring.profiles.active}
config:
server-addr: yt4j-nacos:8848
namespace: ${spring.profiles.active}
file-extension: yml
# 六、启动项目
# 6.1 启动顺序
微服务之间没有强制的启动顺序,但建议按以下顺序启动:
- yt4j-gateway(网关服务)
- yt4j-auth(鉴权服务)
- yt4j-sys(系统权限模块)
- yt4j-crm(CRM模块,可选)
# 6.2 IDEA 中启动
- 在 IDEA 中打开项目
- 等待 Maven 依赖下载完成
- 找到对应的启动类:
GatewayApplication.javaAuthApplication.javaSysApplication.javaCrmApplication.java
- 右键 → Run 或 Debug
# 6.3 命令行启动
# 进入项目根目录
cd yt4j
# 打包项目(跳过测试)
mvn clean package -DskipTests
# 启动网关
java -jar yt4j-gateway/target/yt4j-gateway.jar
# 启动鉴权服务
java -jar yt4j-auth/target/yt4j-auth.jar
# 启动系统模块
java -jar yt4j-modules/yt4j-sys/yt4j-sys-svc/target/yt4j-sys-svc.jar
# 启动CRM模块
java -jar yt4j-modules/yt4j-crm/target/yt4j-crm.jar
# 6.4 验证启动
访问 Nacos 控制台 → 服务管理 → 服务列表,查看已注册的服务。
# 七、访问文档
启动成功后,访问 Knife4j API 文档:
http://127.0.0.1:8888/doc.html
# 默认账号密码
根据 db/yt4j.sql 中的初始化数据,默认管理员账号:
- 用户名:
admin - 密码:
admin123(实际密码以数据库为准)
# 八、常见问题
# 8.1 端口冲突
如果默认端口被占用,可以修改 application.yml 中的端口配置:
| 服务 | 默认端口 | 配置项 |
|---|---|---|
| Gateway | 8888 | server.port |
| Auth | 8000 | server.port |
| Sys | 8001 | server.port |
| CRM | 8002 | server.port |
# 8.2 Nacos 连接失败
检查:
- Nacos 是否启动:
http://localhost:8848/nacos - 配置文件中的
server-addr是否正确 - 防火墙是否开放 8848 端口
# 8.3 MySQL 连接失败
检查:
- MySQL 是否启动
- 数据库是否创建
- 用户名密码是否正确
- hosts 文件是否配置
yt4j-mysql
# 8.4 Redis 连接失败
检查:
- Redis 是否启动:
redis-cli ping - 端口是否正确(默认 6379)
- 是否需要密码
# 九、Docker 部署(推荐)
项目提供了 Docker 部署方案,详见项目 docker/ 目录。
# 快速启动
cd docker
docker-compose up -d
这将启动:
- MySQL
- Redis
- Nacos
- 项目各微服务
# 十、生产环境部署建议
# 10.1 环境变量
使用环境变量管理敏感信息:
export DB_PASSWORD=your_password
export REDIS_PASSWORD=your_password
export NACOS_PASSWORD=your_password
# 10.2 JVM 参数
生产环境建议配置合适的 JVM 参数:
java -Xms1g -Xmx2g \
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-jar yt4j-gateway.jar
# 10.3 健康检查
配置 Spring Boot Actuator 健康检查:
management:
endpoints:
web:
exposure:
include: health,info,metrics
endpoint:
health:
show-details: always
访问:http://localhost:8888/actuator/health
# 10.4 日志配置
建议配置日志输出到文件:
logging:
file:
name: logs/yt4j.log
level:
root: INFO
cn.yt4j: DEBUG
# 下一步
部署完成后,建议:
上次更新: 2026/01/04, 09:28:19