# open-cloud
**Repository Path**: luowenjie98/open-cloud
## Basic Information
- **Project Name**: open-cloud
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-06-18
- **Last Updated**: 2025-06-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 基于开源项目open-cloud3.0.0的SpringCloud微服务平台
#### open-cloud项目地址:https://gitee.com/liuyadu/open-cloud
#### 简介
本项目是以开源项目open-cloud作为基本服务,二次开发的一个springcloud项目,用于学习springcloud,有关open-cloud可以到开源代码地址查看学习;
项目采用
## 技术选型
### 后端技术
| 技术 | 说明 | 官网 |
| ---------------------- | -------------------- | ---------------------------------------------------- |
| Spring Cloud Hoxton.SR8| 微服务框架 | https://spring.io/projects/spring-cloud |
| Spring Cloud Alibaba | 微服务框架 | https://github.com/alibaba/spring-cloud-alibaba |
| Spring Boot 2.3 | 容器+MVC框架 | https://spring.io/projects/spring-boot |
| Spring Security Oauth2 | 认证和授权框架 | https://spring.io/projects/spring-security-oauth |
| MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
| MyBatisGenerator | 数据层代码生成 | http://www.mybatis.org/generator/index.html |
| PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
| Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch |
| RabbitMq | 消息队列 | https://www.rabbitmq.com/ |
| Redis | 分布式缓存 | https://redis.io/ |
| MongoDb | NoSql数据库,行为日志 | https://www.mongodb.com/ |
| Docker | 应用容器引擎 | https://www.docker.com/ |
| Druid | 数据库连接池 | https://github.com/alibaba/druid |
| LogStash | 日志收集 | https://github.com/logstash/logstash-logback-encoder |
| Lombok | 简化对象封装工具 | https://github.com/rzwitserloot/lombok |
| Seata | 全局事务管理框架 | https://github.com/seata/seata |
| Portainer | 可视化Docker容器管理 | https://github.com/portainer/portainer |
| Jenkins | 自动化部署工具 | https://github.com/jenkinsci/jenkins |
| Kubernetes | 应用容器管理平台 | https://kubernetes.io/ |
官网预览
管理后台
管理后台-专业版
+ 后台默认账号:admin 123456
+ 后台测试账号:test 123456
+ SpringBootAdmin账号:sba 123456
#### 源码
+ gitee服务端源码
+ github服务端源码
+ open-admin-ui源码
+ open-admin-pro-ui源码
+ 官网UI源码
#### 使用手册
使用手册
#### 交流群
学习交流(千人群):760809808
#### 功能介绍

#### 代码结构
``` lua
open-cloud
├── docs -- 文档及脚本
├── bin -- 执行脚本
├── config -- 公共配置,用于导入到nacos配置中心
├── sql -- sql文件
├── data -- 增量数据
├── components -- 公共组件
├── open-cloud-common-core -- 提供微服务相关依赖包、工具类、全局异常解析等
├── open-cloud-common-starter -- SpringBoot自动配置扫描
├── open-cloud-tenant-starter -- 多租户模块,多数据源自动切换(完善中...)
├── open-cloud-java-sdk -- 开放平台api集成SDK(完善中...)
├── platform -- 平台服务
├── open-cloud-api-spring-server -- API开放网关-基于SpringCloudGateway[port = 8888](推荐)
├── open-cloud-api-zuul-server -- API开放网关-基于Zuul[port = 8888](功能完善)
├── open-cloud-base-client -- 平台基础服务接口
├── open-cloud-base-server -- 平台基础服务器[port=8233]
├── open-cloud-uaa-admin-server -- 平台用户认证服务器[port = 8211]
├── open-cloud-uaa-portal-server -- 门户开发者认证服务器[port = 7211]
├── open-cloud-generator-server -- 在线代码生成服务器[port = 5555]
├── services -- 通用微服务
├── open-cloud-msg-client -- 消息服务接口
├── open-cloud-msg-server -- 消息服务器[port = 8266]
├── open-cloud-task-client -- 任务调度接口
├── open-cloud-task-server -- 调度服务器[port = 8501]
├── open-cloud-bpm-client -- 工作流接口
├── open-cloud-bpm-server -- 工作流服务器[port = 8255]
├── open-cloud-sba-server -- SpringBootAdmin监控服务[port = 8849]
├── open-cloud-sso-ui-demo -- SSO单点登录演示demo[port = 8849]
```
#### 快速开始
本项目基于springCloud打造的分布式快速开发框架. 需要了解SpringCloud,SpringBoot,SpringSecurity,分布式原理。
1. 准备环境
+ Java1.8 (v1.8.0_131+)
+ Nacos服务注册和配置中心(v1.0.0+) 阿里巴巴nacos.io
+ Redis (v3.2.00+)
+ RabbitMq (v3.7+)(需安装rabbitmq_delayed_message_exchange插件 下载地址)
+ Mysql (v5.5.28+)
+ Maven (v3+)
+ Nodejs (v10.14.2+)
2. 执行创建数据库open-platform并执行sql脚本
+ docs/sql/oauth2.sql
+ docs/sql/base.sql
+ docs/sql/gateway.sql
+ docs/sql/msg.sql
+ docs/sql/quartz.sql && task.sql
...
3. 启动nacos服务发现&配置中心,新建公共配置文件
+ 访问 http://localhost:8848/nacos/index.html
+ 导入配置 /docs/config/DEFAULT_GROUP.zip(nacos1.0.3以上版本支持一键导入)
+ 新建配置文件 (nacos1.0.3以下版本)
+ 项目目录/docs/config/db.properties > db.properties
+ 项目目录/docs/config/rabbitmq.properties > rabbitmq.properties
+ 项目目录/docs/config/redis.properties > redis.properties
+ 项目目录/docs/config/common.properties > common.properties
如图:

4. 修改主pom.xml
初始化maven项目
``` bush
maven clean install
```
本地启动,默认不用修改
``` xml
127.0.0.1:8848
127.0.0.1:8848
```
5. 本地启动(按顺序启动)
1. [必需]BaseApplication(平台基础服务)
2. [必需]UaaAdminApplication(平台用户认证服务器)
3. [必需]GatewaySpringApplication(推荐)或GatewayZuulApplication
```
访问 http://localhost:8888
```
4.[非必需]SpringBootAdmin(监控服务器)(非必需)
```
访问 http://localhost:8849
```
6. 前端启动
```bush
npm install
npm run dev
```
访问 http://localhost:8080
7. 项目打包部署
+ maven多环境打包,替换变量
```bush
mvn clean install package -P {dev|test|online}
```
+ 项目启动
```bush
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-base-server.jar
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-uaa-admin-server.jar
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-api-spring-server.jar
```
8.docker部署
+ 配置DOCKER私服仓库
+ maven多环境打包,替换变量.并构建docker镜像
```bush
clean install package -P {dev|test|online} dockerfile:build
```
+ 启动docker镜像
```bush
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8233:8233 --name base-server open.cloud/open-cloud-base-server:3.0.0
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8211:8211 --name uaa-admin-server open.cloud/open-cloud-uaa-admin-server:3.0.0
docker run -d -e JAVA_OPTS="-Xms128m -Xmx256m" -p 8888:8888 --name api-spring-server open.cloud/open-cloud-api-spring-server:3.0.0
```
#### 集成开发
集成开发
#### OAuth2使用说明
OAuth2