disconf-web安装教程

disconf概述

disconf

Distributed Configuration Management Platform(分布式配置管理平台)

专注于各种「分布式系统配置管理」的「通用组件」和「通用平台」, 提供统一的「配置管理服务」

主要目标

  • 部署极其简单:同一个上线包,无须改动配置,即可在 多个环境中(RD/QA/PRODUCTION) 上线
  • 部署动态化:更改配置,无需重新打包或重启,即可 实时生效
  • 统一管理:提供web平台,统一管理 多个环境(RD/QA/PRODUCTION)、多个产品 的所有配置
  • 核心目标:一个jar包,到处运行

功能特点

  • 支持配置(配置项+配置文件)的分布式化管理
  • 配置发布统一化
    1. 配置发布、更新统一化:
      • 同一个上线包 无须改动配置 即可在 多个环境中(RD/QA/PRODUCTION) 上线
      • 配置存储在云端系统,用户统一管理 多个环境(RD/QA/PRODUCTION)、多个平台 的所有配置
    2. 配置更新自动化:用户在平台更新配置,使用该配置的系统会自动发现该情况,并应用新配置。特殊地,如果用户为此配置定义了回调函数类,则此函数类会被自动调用。
  • 极简的使用方式(注解式编程 或 XML无代码侵入模式):我们追求的是极简的、用户编程体验良好的编程方式。目前支持两种开发模式:基于XML配置或者基于注解,即可完成复杂的配置分布式化。

注:配置项是指某个类里的某个Field字段。

其它功能特点

  • 低侵入性或无侵入性、强兼容性:
    • 低侵入性:通过极少的注解式代码撰写,即可实现分布式配置。
    • 无侵入性:通过XML简单配置,即可实现分布式配置。
    • 强兼容性:为程序添加了分布式配置注解后,开启Disconf则使用分布式配置; 若关闭Disconf则使用本地配置;若开启Disconf后disconf-web不能正常Work,则Disconf使用本地配置。
  • 支持配置项多个项目共享,支持批量处理项目配置
  • 配置监控:平台提供自校验功能(进一步提高稳定性),可以定时校验应用系统的配置是否正确

工作环境以及安装依赖软件

  • 操作系统: CentOS 6.8
  • 安装Nginx 1.10.1
  • 安装JDK 1.7.0_80
  • 安装Tomcat 7.0.69
  • 安装mysql 5.1
  • 安装zookeeper
  • 安装Redis

注意,如果选择在服务器上编译打包还需要在服务器上配置maven环境

准备配置

  jdbc-mysql.properties (数据库配置)
  redis-config.properties (Redis配置)
  zoo.properties (Zookeeper配置)
  application.properties (应用配置)

注意,记得执行将application-demo.properties复制成application.properties:

cp application-demo.properties application.properties 

注意,即使只有一个redis,也应该配置两个redis client,否则将造成内部错误。

构建

只需要关心disconf-web,进入disconf-web文件夹,运行命令进行打包:

mvn package -Dmaven.skip.test=true

打包成功之后,就会发现disconf-web下的target文件夹下disconf-web.war包

上线前的初始化工作

初始化数据库: 为了方便大家开发,统一了所有SQL,SQL所在位置是\disconf-2.6.36\disconf-web\sql中,请先后执行:

  0-init_table.sql        create db,tables
  1-init_data.sql         create data
  201512/20151225.sql     patch
  20160701/20160701.sql   patch

部署War

可以将生成的war包的内容解压到服务器上的/home/yangyy/disconf/war中,(以上地址可自行设定)内容大致如下

修改server.xml文件,在Host结点下设定Context:

<Context path="" docBase="/home/yangyy/disconf/war"></Context>

启动Tomcat,即可。

部署 前端

修改 nginx.conf,可以参考:

user  yang;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

#    include /etc/nginx/conf.d/*.conf;

upstream disconf {
    server 127.0.0.1:8080;
}
 
server {
    listen 80;
    server_name localhost;
    access_log /home/yangyy/nginx/log/disconf/access.log;
    error_log /home/yangyy//nginx/log/disconf/error.log;
 

    location / {
        root /home/yangyy/disconf/war/html;
        if ($query_string) {
            expires max;
        }
    }
 
    location ~ ^/(api|export) {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://disconf;
    }
}

}

运行

完成以上的搭建后,访问http://ip/,就可以看到管理页面了(账号密码是 admin/admin)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值