# 1.搭建自己的ELCube平臺
ELCube 是一個輕量級的企業應用開發模型,采用后端Java前端Vue的前后端分離模式開發, 因此安裝ELCube需要滿足下述安裝環境要求,并同時部署服務端程序及WEB端資源文件,并通過反向代理向外提供服務。
# 安裝環境
| 環境 | 要求 | 說明 |
|---|---|---|
| JAVA | jdk1.8+ | 推薦使用Oracle JDK |
| RDBMS | MySQL5.6、Oracle9、10、11等 | 支持各大主流關系型數據庫 |
| Redis | v2.0+ | 推薦分配內存2G以上 |
| ElasticSearch | v7.7.1,v7.9.3 | 推薦7.9.3版本,集群3個節點以上 |
| RabbitMQ | v3+ | 可選,如不使用可移除對kernel-mq模塊的引用 |
| Nginx | v1.14.0+ |
提示
ElasticSearch 必須安裝IK分詞器
# 開發環境
| 環境 | 要求 | 說明 |
|---|---|---|
| git | v2.23+ | 版本管理 |
| maven | v2.0+ | 服務端使用Maven構建,推薦使用Maven3 |
| node.js | v14.8.0+ | WEB端使用node環境構建 |
| npm | v6.0+ | WEB端包管理器 |
# 源碼下載
ELCube 通過Gitee進行代碼托管,您可以從下述地址check代碼
Java服務端 https://gitee.com/newcorenet/elcube-backend (opens new window)
Vue前端 https://gitee.com/newcorenet/elcube-front (opens new window)
# 運行
# 配置服務端
elcube-backend/application 模塊是ELCube的入口模塊
在application-dev.yml中配置您的資源連接
nk:
# env-key 不是必須的,它允許您在同一個ElasticSearch應用下啟動多個ELCube程序,并作為索引名的前綴
env-key: elcube_rd
# env-name 不是必須的,它會在主界面顯示,可用于區分不同的應用環境,如dev、poc等,生產環境下推薦為空
env-name: 研發環境2.0
# 文件上傳的存儲路徑,如不使用外部文件存儲服務,則必須設置
file-root-path: /home/user/files
compress:
enabled: false
# 需要掃描的腳本對象所在的java package
component-base-packages:
- cn.nkpro.elcube.components
# 是否禁用在線編碼,驗證階段,推薦true
component-disable-online-editing: true
# 是否優先從classpath加載腳本對象,驗證階段,推薦true
component-reload-class-path: true
doc:
indices:
- demo-index: cn.nkpro.elcube.docengine.model.es.DocExtES
spring:
# 數據庫連接部分
datasource:
url: jdbc:mysql://127.0.0.1:3306/elcube
username: root
password: password
driver-class-name: com.mysql.jdbc.Driver
# Redis連接部分
redis:
host: 127.0.0.1
port: 6379
password: password
# ElasticSearch連接部分
elasticsearch:
rest:
uris: ["http://127.0.0.1:9200"]
username: elastic
password: password
# 自動創建數據庫表
liquibase:
enabled: true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 運行服務端
通過SpringBoot入口類
ELCubeApplication啟動應用第一次啟動時,
ELCube會根據yml配置自動創建數據庫表及ElasticSearch的索引結構初始化管理員賬號為
admin/adminJava服務的默認端口配置為
9200,當然你也可以通過yml配置修改
# 運行WEB端
# 安裝依賴項
npm install
# 啟動前端服務
npm run dev
1
2
3
4
2
3
4
- WEB端默認端口號為
7200
點擊這里http://localhost:7200 (opens new window)試著登陸體驗
# 服務器部署
# 硬件配置
- 服務器支持 Linux、Windows Server 2008+ 等操作系統
- 推薦使用Linux部署,支持Centos、Ubuntu等主流Linux發行版,支持Docker方式部署
| 環境 | 最低配置 | 推薦配置 |
|---|---|---|
| 演示部署 | 4c8g 存儲500G 所有服務安裝在一臺服務器上,作為演示部署 | 4c8g 存儲500G 2臺 數據庫與應用獨立部署 |
| 生產部署 | 4c8g 存儲500G 2臺 數據庫與應用獨立部署,應用服務器兼顧數據備份 | 根據實際業務壓力部署 |
# 部署
- 通過maven命令打包服務端程序
mvn clean compile package
1
- 通過node命令打包WEB端程序
npm run build
1
分別將服務端jar文件
elcube-application.jar及WEB端dist文件夾 上傳到服務器配置nginx代理
server {
listen 80;
server_name demo.youdomain.cn;
gzip on;
gzip_min_length 1k;
gzip_comp_level 1;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;
gzip_vary on;
gzip_buffers 2 4k;
gzip_http_version 1.1;
location / {
root /nk/applications/resources/dist;
index index.html;
}
location /api/ {
proxy_pass http://localhost:9200/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- 在服務器端啟動程序
java -jar elcube-application.jar
1
2.模型 →