安装Disconf-Web

java技术文章

2018-09-28

42

0

 Disconf是一个分布式配置管理平台,用于管理分布式系统配置文件。分布式系统越来越流行,随着节点的增加,配置文件修改起来也越来越困难,百度的分布式配置管理平台由此而生。它能够统一管理各个节点的配置文件,统一配置和修改。

一、disconf-web界面

分布式配置Web平台服务 模块

推荐使用最新的Chrome或Firefox浏览.

1.1、运行样式

登录页

主界面

左上角可以选择APP和环境,选择之后,就会在中间出现若干个版本,

选择版本后,就会显示 APP、环境、版本 三个条件下的配置列表:

表格中 各个列的意义是:

  • APP:使用哪个APP,及它的ID

  • KEY:配置文件或配置项

  • 配置内容:配置文件或配置项在配置中心中的值

  • 实例列表:使用此配置文件或配置项的所有实例列表,及每个实例的配置值。如果实例的配置值与配置中心的值不一致,这里会标识出来。

  • 修改时间:修改此配置的最后一次时间

  • 操作:个性、删除、下载

右上角可以

新建配置项、新建配置文件、新建APP

表格右上方可以批量下载所有配置文件至本地,还可以查看ZK上的部署情况。
 

二、安装组件

  系统环境:linux CentOS7

  安装Zookeeper:zookeeper-3.4.6

  安装Redis:redis-3.0.0

  安装Nginx:nginx-1.8.0

  安装MySQL:mysql-community-release-el6-5.noarch.rpm

  安装Tomcat:apache-tomcat-8.0.28

  Disconf进行构建时需要maven命令,所以需要安装Maven。

  安装Maven的命令:

 

wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

yum -y install apache-maven

如果提示没有wget命令,则用下面的命令来安装该命令:

yum install wget –y

三、disconf-web安装

3.1、创建文件

配置文件所在路径:

/usr/local/disconf/resource

源码所在路径:

/usr/local/disconf/war

创建好的文件夹结构如下图所示:

3.2、下载源码

进入到disconf/src下,在GitHub上面直接下载源码,利用下面的命令:

cd /usr/local/disconf/src

git clone https://github.com/knightliao/disconf.git

如果提示没有git命令,执行下面的命令安装git命令:

yum install git -y

3.3、拷贝配置文件

将/usr/local/disconf/src/disconf/disconf-web/profile/rd路径下的配置文件拷贝到/usr/local/disconf/resource(要将application-demo.properties文件改名为application.properties),并修改相应的配置文件。

拷贝命令:

cd /usr/local/disconf/src/disconf/disconf-web/profile/rd
cp * /usr/local/disconf/resource
cd /usr/local/disconf/resource
mv ./application-demo.properties ./application.properties

3.4、修改相应的配置文件

这些配置文件修改后,都需要重新进行系统构建。

jdbc-mysql.properties(数据库的配置):将mysql的连接地址、用户名和密码改为相应数据库的信息。

 

redis-config.properties(配置redis的地址):

  修改相应的host和port,如果redis是集群,可配置相应的节点;如果redis是单机版,也必须配置两个redis-client(否则会报错),两个redis-client配置相同的host和port即可。

zoo.properties(zookeeper的地址配置):

将Zookeeper集群的ip和端口号配置在hosts属性中即可,各节点地址之间用英文逗号隔开,其他不用修改。

3.5、修改环境变量

 修改环境变量,将创建的配置文件的路径和war包的路径配置在环境变量中。

vi /etc/profile

按“i”开启编辑,将下面的内容添加到环境变量的最后面:

ONLINE_CONFIG_PATH=/usr/local/disconf/resource

WAR_ROOT_PATH=/usr/local/disconf/war

export ONLINE_CONFIG_PATH

export WAR_ROOT_PATH

按Esc结束编辑,使用“:x”命令退出,利用下面的命令使环境变量生效:

source /etc/profile

3.6、构建

进入到disconf-web路径下,修改其pom文件:
cd /usr/local/disconf/src/disconf/disconf-web
vi pom.xml

将一下内容加入到pom文件的profiles结点下,如果JDK的版本低于1.8,则此步骤不需要执行:

<profile>
    <id>doclint-java8-disable</id>
    <activation>
      <jdk>[1.8,)</jdk>
    </activation>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <additionalparam>-Xdoclint:none</additionalparam>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>

如下图所示:

利用deploy/deploy.sh进行构建,构建过程会download很多东西,可能会有些慢,虚拟机要一直保持能上网的状态:

cd /usr/local/disconf/src/disconf/disconf-web

sh deploy/deploy.sh

构建完成后,在war目录下会生成相应的内容,主要的是加粗的那几项:

四、上线前的初始化工作

4.1、初始化数据库

在/usr/local/disconf/src/disconf/disconf-web/sql目录下有sql文件,将这些sql文件初始化到数据库中。这四个sql文件的执行是有顺序的,按照sql/readme.md文件中的顺序执行。

  0-init_table.sql

  1-init_data.sql

  201512/20151225.sql

  20160701/20160701.sql 

里面默认有6个用户(请注意线上环境删除这些用户以避免潜在的安全问题

name pwd
admin admin
testUser1 MhxzKhl9209
testUser2 MhxzKhl167
testUser3 MhxzKhl783
testUser4 MhxzKhl8758
testUser5 MhxzKhl112

4.2、配置Tomcat

将构建时打成的war包部署到Tomcat中,需要修改Tomcat的server.xml文件,在Host节点下设定Context:

<Context path="" docBase="/usr/local/disconf/war"></Context>

4.3、部署前端

修改nginx.conf文件,将下面的内容添加进去:

upstream disconf {
    server 127.0.0.1:8085;#Tomcat的IP和端口号,这里改成了8085
}
 
server {
    listen   8080;#nginx监听的端口号
    server_name disconf.com;#可自行定义,但必须与application.properties中的domain属性的值一样
    access_log /home/work/var/logs/disconf/access.log;
    error_log /home/work/var/logs/disconf/error.log;
 
    location / {
        root /usr/local/disconf/war/html;#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;
    }
}

关于host

这里的 host 设置成 disconf.com (可以自定义),但它 必须与 application.properties 里的domain一样。

然后浏览器的访问域名也是这个。

五、完成

欢迎访问:www.hongfu951.com博客,查看更多技术文章

 

 

发表评论

全部评论:0条

鸿福951

努力打造一个好用的webui

热评文章

推荐文章