-
Notifications
You must be signed in to change notification settings - Fork 66
deployment
duic 部署仅依赖于 mongodb,不依赖其它任何中间件即可支持分布式集群部署,同时 duic 采用 spring-boot + spring-webflux 开发,内置使用 netty 作为 HTTP Server,所以 duic 的部署非常的简单。
启动配置文件默认采用 yaml
格式,你可以根据自己的喜好使用其它配置 spring-boot 支持的文件格式。
- 配置文件路径
-
-
当前目录的`/config`子目录
-
当前目录
-
CLASSPATH `/config`包目录
-
CLASSPATH 根目录
-
该列表按优先顺序排列(在列表中较高的位置定义的属性会覆盖在较低位置定义的属性)。
server:
port: 7777
spring:
reactor:
stacktrace-mode:
enabled: true
data:
mongodb:
uri: mongodb://127.0.0.1:27017/duic
duic:
root-email: kevinz@weghst.com
root-password: 123456
jwt:
secret: U2FsdGVkX1/jO0KlWumac4yDM8rOgWPkaV0KrSHDynWOP6n8FMJB9uSc8EW/qM+VagrMBAXGpyw=
expires-in: 720
app:
watch:
updated:
fixed-delay: 5000
deleted:
fixed-delay: 600000
一般在部署时只需要将 spring.data.mongodb.uri
配置参数修改为指定的 mongodb 连接地址,即可正常启动 duic。
- 参数详细解释
-
-
server.port
服务端口(默认为7777
) -
spring.reactor.stacktrace-mode.enabled
启用 reactor 调用堆栈(默认为false
),设置为false
可以提高性能,但是不建议修改该配置项。更详细的解释请参考 reactor 官方文档 Activating Debug Mode -
spring.data.mongodb.uri
mongodb 数据库连接 uri -
duic
应用程序基础配置-
root-email
ROOT 用户邮箱,如果用户不存在则会直接创建他 -
root-password
ROOT 用户密码,初始创建时默认设置的密码 -
jwt
配置管理控制台登录安全信息,JWT 使用HmacSHA256
算法生成-
secret
JWT 签名字符串 -
expires-in
JWT 过期时间(单位:秒)
-
-
app.watch.updated.fixed-delay
监控数据库配置更新时间间隔周期默认为 5 秒扫描一次数据库,将更新的配置加载至内存中(单位:毫秒) -
app.watch.deleted.fixed-delay
监控数据库配置删除时间音阶周期默认为 10 分钟挚友一次数据库,将删除的配置从内存中移除释放内存(单位:毫秒)
-
-
Tip
|
更详细的解释请参考 spring-boot 官方文档 Application Property Files |
-
确认 java 环境至少是 1.8 或以上的版本
$ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
-
确认 mongo 环境至少是 2.6 或以上的版本并且服务已经启动
$ mongo -version MongoDB shell version: 2.6.3
-
创建 duic 目录
$ mkdir /opt/duic
-
进入 duic 目录
$ cd /opt/duic
-
在 GitHub Releases 页面获取 duic-[version].jar 并放置在
/opt/duic
目录中$ wget https://github.com/zhudyos/duic/releases/download/1.4.1/duic-1.4.1.jar -O duic.jar
Tip在部署时需要将 url 中的版本替换为你需要的版本号,最好从 GitHub Releases 找到合适的版本后复制下载地址
-
创建配置文件目录
$ mkdir config
Tip确保当前目录是在
/opt/duic
目录中 -
进入配置文件目录
$ cd config
-
创建启动配置文件
$ touch application.yml
-
将
spring.data.mongodb.uri
写入config/application.yml
配置文件spring: data: mongodb: uri: mongodb://127.0.0.1:27017/duic
Tip确保
spring.data.mongodb.uri
正确可连接至数据库 -
启动 duic
$ java -Dspring.profiles.active=prod -jar duic.jar
Tip不增加
-Dspring.profiles.active=prod
参数则以debug
方式启动 -
启动成功后可在
logs/duic.log
日志文件中看见类似的如下信息2018-04-12 11:27:16,786 INFO o.s.boot.SpringApplication - . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.1.RELEASE) 2018-04-12 11:27:17,195 INFO i.z.d.server.Application$Companion - Starting Application.Companion on e629cf1fe74f with PID 7 (/app/duic.jar started by root in /app) 2018-04-12 11:27:17,195 INFO i.z.d.server.Application$Companion - The following profiles are active: prod ... 2018-04-12 11:27:20,558 INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 2018-04-12 11:27:20,572 INFO o.s.s.a.ScheduledAnnotationBeanPostProcessor - No TaskScheduler/ScheduledExecutorService bean found for scheduled processing 2018-04-12 11:27:20,690 INFO r.i.netty.tcp.BlockingNettyContext - Started HttpServer on /0:0:0:0:0:0:0:0%0:7777 2018-04-12 11:27:20,690 INFO o.s.b.w.e.netty.NettyWebServer - Netty started on port(s): 7777 2018-04-12 11:27:20,696 INFO i.z.d.server.Application$Companion - Started Application.Companion in 4.995 seconds (JVM running for 7.767)
-
测试
$ curl http://localhost:7777/index.html
镜像已经同步至 docker 官方镜像仓库 https://hub.docker.com/r/zhudyos/duic。
-
拉取镜像
$ docker pull zhudyos/duic
-
确认 mongo 环境至少是 2.6 或以上的版本并且服务已经启动
$ mongo -version MongoDB shell version: 2.6.3
-
创建配置文件目录
$ mkdir config
-
进入配置文件目录
$ cd config
-
创建启动配置文件
$ touch application.yml
-
将
spring.data.mongodb.uri
写入config/application.yml
配置文件spring: data: mongodb: uri: mongodb://127.0.0.1:27017/duic
Tip确保
spring.data.mongodb.uri
正确可连接至数据库 -
启动镜像
$ docker run -d -p 7777:7777 -v $(pwd)/config:/app/config zhudyos/duic
Tip将
application.yml
配置文件所在目录挂载到容器的/app/config
目录中 -
测试
$ curl http://localhost:7777/index.html