使用 mysql 部署

duic 支持使用 MySQL 存储配置数据(兼容 MariaDB)。

前提

  • Java >= 1.8
  • MySQL >= 5.6

创建数据库

1. CREATE DATABASE IF NOT EXISTS `duic` CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

启动配置

application.yml

1. spring:
2. datasource:
3. url: jdbc:mysql://127.0.0.1:3306/duic?autoReconnect=true&useServerPrepStmts=true
4. username: root
5. password: root

参数详细解释 : - spring.datasource 数据源

 -
`url` **mysql 连接地址**

 -
`username` **mysql 连接用户**

 -
`password` **mysql 连接用户密码**

docker 部署

镜像已经同步至 docker 官方镜像仓库 <https://hub.docker.com/r/zhudyos/duic>。

  • 启动镜像
1. $ docker run -d -p 7777:7777 -e DUIC_OPTS=-Dspring.profiles.active=mysql -v $(pwd)/config:/app/config zhudyos/duic

Tip

  • 将 application.yml 配置文件所在目录挂载到容器的 /app/config 目录中
  • 通过 DUIC_OPTS 环境变量设置数据库类型

  • 测试

1. $ curl http://localhost:7777/index.html

传统 java 方式部署

  • 确认 java 环境至少是 1.8 或以上的版本
1. $ java -version

3. java version "1.8.0_151"
4. Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
5. Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
  • 创建 duic 目录
1. $ mkdir /opt/duic
  • 进入 duic 目录
1. $ cd /opt/duic
  • 在 GitHub Releases 页面获取 duic-[version].jar 并放置在 /opt/duic 目录中
1. $ wget https://github.com/zhudyos/duic/releases/download/[version]/duic-[version].jar -O duic.jar

Tip

在部署时需要将 url 中的版本替换为你需要的版本号,最好从 GitHub Releases 找到合适的版本后复制下载地址

  • 创建配置文件目录
1. $ mkdir config

Tip

确保 config 是 /opt/duic 的子目录

  • 进入配置文件目录
1. $ cd config
  • 创建启动配置文件/并将数据库连接配置写入文件
1. $ touch application.yml
  • 启动 duic
1. $ java -Dspring.profiles.active=mysql -jar duic.jar

Tip

spring.profiles.active

  • mysql 使用 mysql 存储配置数据时该参数必须增加

在控制台看见如下日志输出即启动成功

1. ______              _    ______
2. |_   _ `.           (_) .' ___  |
3. | | `. \ __   _   __ / .'   \_|
4. | |  | |[  | | | [  || |
5. _| |_.' / | \_/ |, | |\ `.___.'\
6. |______.'  '.__.'_/[___]`.____ .'
7. :: duic ::      (v1.5.2-SNAPSHOT)

9. 2018-05-03 07:06:05,980 INFO  i.z.d.server.Application$Companion - Starting Application.Companion v1.5.2-SNAPSHOT on ubuntu with PID 47440 (/opt/duic/duic.jar started by zy in /opt/duic)
10. 2018-05-03 07:06:05,984 INFO  i.z.d.server.Application$Companion - The following profiles are active: mysql,prod
11. 2018-05-03 07:06:09,595 INFO  r.i.netty.tcp.BlockingNettyContext - Started HttpServer on /0:0:0:0:0:0:0:0%0:7777
12. 2018-05-03 07:06:09,596 INFO  o.s.b.w.e.netty.NettyWebServer - Netty started on port(s): 7777
13. 2018-05-03 07:06:09,600 INFO  i.z.d.server.Application$Companion - Started Application.Companion in 4.192 seconds (JVM running for 4.864)
  • 测试
1. $ curl http://localhost:7777/index.html

原文: <https://github.com/zhudyos/duic/wiki/deployment-mysql>