源码安装
一、概述
注意
此模式仅开源社区版提供,企业版可以通过其他几种模式进行安装
基础是准备一台4核16G的Linux服务器,操作系统推荐CentOS 7.6 64位。其中安装了数式Oinone所有必需的依赖项以及常见的有用包。
它提供了更大的灵活性,例如,它允许自行根据业务需求运行特定范围的模块。这足以用于开发模块,并且可以作为生产部署的基础。在实际使用过程中,中间件如redis、zookeeper、rockerMq可以独立服务器部署。部署结构示意如下:

提示
源码安装在修改了Oinone框架源码的情况,不可以直接从社区版切换到企业版,其他版本皆可从社区版切换都企业版
二、安装MySQL数据库
如果没有现成的数据库,可自行到官网下载安装:https://dev.mysql.com/downloads/mysql/。
三、其他中间件部署
RocketMQ | 必须 | 4.7.1以上 |
---|---|---|
Redis | 必须 | 5.0.2以上 |
Zookeeper | 必须 | 3.5.8以上 |
四、代码库简介
说明 | 代码库路径 | 备注 |
---|---|---|
快速启动 | oinone/oinone-frontend-starter.git | 前端一键启动(PC) |
oinone/oinone-mobile-starter.git | 前端一键启动(移动) | |
oinone/oinone-backend-starter.git | 后端一键启动 | |
教程 | oinone/oinone-frontend-tutorials.git | 前端教程工程 |
oinone/oinone-backend-tutorials.git | 后端教程工程 | |
示例 | oinone/oinone-frontend-examples.git | 前端示例工程 |
oinone/oinone-backend-examples.git | 后端示例工程 | |
文档 | oinone/oinone-docs | 文档 |
后端核心包 | oinone/oinone-pamirs/pamirs-spi.git | 后端SPI基础功能包 |
oinone/oinone-pamirs/pamirs-k2.git | 后端元数据核心功能 | |
oinone/oinone-pamirs/pamirs-framework-commons.git | 后端核心功能公共包 | |
oinone/oinone-pamirs/pamirs-framework.git | 后端核心功能包 | |
oinone/oinone-pamirs/pamirs-framework-adaptor.git | 后端核心功能扩展包 | |
oinone/oinone-pamirs/pamirs-boot.git | 后端应用启动包 | |
后端基础功能包 | oinone/oinone-pamirs/pamirs-core.git | 后端基础功能包 |
前端核心包 | oinone/oinone-kunlun/kunlun-engine.git | 前端核心功能扩展包 |
oinone/oinone-kunlun/kunlun-framework.git | 前端核心功能包 | |
oinone/oinone-kunlun/kunlun-boot.git | 前端PC端启动工程 | |
oinone/oinone-kunlun/kunlun-mobile-boot.git | 前端移动端启动工程 | |
oinone/oinone-kunlun/kunlun-expression.git | 前端表达式组件包 | |
oinone/oinone-kunlun/kunlun-vue.git | 前端PC端组件包 | |
oinone/oinone-kunlun/kunlun-mobile-vue.git | 前端移动端组件包 |
五、获取源
获取数式Oinone的源代码有两种方式:ZIP 压缩包 或通过Git。这里介绍Git为主
提示
需要安装 Git,建议具备 Git 命令的基本知识才能继续。
要克隆 Git 存储库,可选择使用 HTTPS 或 SSH 进行克隆。大多数情况下,最佳选择是 HTTPS。不过,要为数式Oinone源代码做贡献,或遵循开发者入门教程时,请选择SSH。
(一)前端
#Clone with Https
git clone https://github.com/oinone/oinone-frontend-starter.git
#Clone with SSH
git clone git@github.com:oinone/oinone-frontend-starter.git
(二)后端
#Clone with Https
git clone https://github.com/oinone/oinone-backend-starter.git
#Clone with SSH
git clone git@github.com:oinone/oinone-backend-starter.git
六、运行后端
(一)修改src/main/resources/config/application-dev.yml文件
如果Mysql、Zookeeper、Redis、RocketMQ不在一个宿主机中,在文件中找到如下代码,修改IP、端口、用户名以及密码等配置项
- Mysql
# application.yml文件
# 改成mysql所在服务器的ip、端口(端口号默认3306,使用服务器上mysql的端口一致)、username、password
pamirs:
datasource:
pamirs:
driverClassName: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.129:3306/demo_pamirs?useSSL=false&allowPublicKeyRetrieval=true&useServerPrepStmts=true&cachePrepStmts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true
username: root
password: shushi@2019
base:
driverClassName: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.129:3306/demo_base?useSSL=false&allowPublicKeyRetrieval=true&useServerPrepStmts=true&cachePrepStmts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true
username: root
password: shushi@2019
- Zookeeper
# application.yml文件
dubbo:
application:
name: pamirs-designer
version: 1.0.0
registry:
address: zookeeper://127.0.0.1:2181
protocol:
name: dubbo
port: 20880
serialization: pamirs
consumer:
timeout: 5000
provider:
timeout: 5000
scan:
base-packages: pro.shushi
cloud:
subscribed-services:
pamirs:
zookeeper:
zkConnectString: 127.0.0.1:2181
zkSessionTimeout: 60000
rootPath: /oinone
- Redis
# application.yml文件
spring:
redis:
database: 0
host: 127.0.0.1
port: 6379
timeout: 2000
password: Abc@1234
jedis:
pool:
# 连接池中的最大空闲连接 默认8
max-idle: 16
# 连接池中的最小空闲连接 默认0
min-idle: 0
# 连接池最大连接数 默认8 ,负数表示没有限制
max-active: 16
# 连接池最大阻塞等待时间(使用负值表示没有限制) 默认-1
max-wait: 3000
- RocketMQ
# application.yml文件
spring:
rocketmq:
name-server: 127.0.0.1:9876
- 文件存储oss
cdn:
oss:
name: MINIO
type: MINIO
bucket: pamirs
uploadUrl: http://xxx.xxx.xxx.xxx:9000
downloadUrl: http://xxx.xxx.xxx.xxx:9000
accessKeyId: xxx
accessKeySecret: xxx
mainDir: upload/demo/
validTime: 3600000
timeout: 600000
active: true
referer:
localFolderUrl:
警告
体验企业版时数式会提默认配置,但需要注意,cdn正式环境需要替换成自己的服务器,而不是用数式科技提供测试服务器,该服务器会定时清理,导致文件丢失。
更多oss配置请参考:文件存储配置
(二)启动后端服务
1. 使用Maven启动
cd oinone-backend-starter && \
mvn clean compile spring-boot:run \
-Dspring-boot.run.profiles=dev
2. 使用使用IDEA启动
IDEA导入oinone-backend-starter
工程, 使用pro.shushi.pamirs.starter.OinoneBackendStarterApp
作为main类启动
启动之后会有类似输出信息,表示启动成功
Oinone Backend Starter App 启动耗时 54.168926917 s
七、运行前端
(一)安装依赖、启动
# 初始化安装依赖
npm i
# 开发模式启动
npm run dev
(二)配置接口地址
1. 适合生产环境使用
将.env 里面的 API_BASE_URL 改为自己需要配置的地址
2. 适合开发环境使用
vue.config.js 内 devServer.proxy.pamirs.target 的值修改为自己需要配置的地址
方法 1 的优先级高于方法 2,如果想要方法 2 生效,需要把方法 1 的配置删除
(三)静态资源配置
├── public
└────static.zip
解压 static.zip 到 public 目录下
建议将静态资源文件上传在 oss,然后将 .env 里面的STATIC_IMG
改成 oss 的地址
(四)目录结构
├── public 发布用的目录,index.html入口文件将在这里
│ └── static 静态资源
│
├── src 源代码
│ └── main.ts 应用入口文件 这里会注册providers/application.ts
├── .env 启动的环境变量,后端api的请求地址在这里
├── package.json 包描述文件
├── tsconfig.json ts配置文件,可配置语法校验
└── vue.config.js vue的配置文件,里面可以配置webpack参数和开发模式的后端api请求地址