一、disconf介绍
1、disconf是什么
disconf是一个提供分布式配置管理的软件,所谓分布式配置管理就是为一组或多组分布式环境提供统一的配置管理服务,只需要在web管理控制端修改某个配置项,其他使用这个配置的客户端就可以接收到更改通知,重新拉取配置。
2、disconf组成部分disconf-web::web控制台
disconf-client:客户端调用
二、disconf的web控制端安装
1、disconf-web安装需要安装以下软件mysql
tomcat
nginx
zookeeper(3.3.6)
redis
jdk
maven
git(非必需,可以通过源码上传的方式来上传代码)
注:mysql和zookeeper需要启动起来
2、disconf-web包安装(1)下载disconf源码包cd/usr/local/src
git clone https://github.com/knightliao/disconf.git
(2)建立disconf-web的部署目录mkdir-p/data/work/disconf-web
mkdir/data/work/disconf-web/resources
mkdir/data/work/disconf-web/war
/data/work/disconf-web为部署目录
/data/work/disconf-web/resources为配置文件目录
/data/work/disconf-web/war为war包目录
注:项目部署目录是自定义的,并根据自己环境的不同修改相应的配置
(3)将源码中的配置文件复制到部署目录中的配置目录中cp/usr/local/src/disconf/disconf-web/profile/rd/*.properties /data/work/disconf-web/resources/
cd /data/work/disconf-web/resources
mv application-demo.properties application.properties
(4)根据自己的环境修改相应的配置jdbc-mysql.properties (数据库配置)
redis-config.properties (Redis配置,主要用于web登录使用,如果是单台服务器,也要配置两个client)
zoo.properties (Zookeeper配置)
application.properties (应用配置)
注:redis,mysql,zoo要按照自己的环境进行相应的修改
(5)构建项目,生成war包cd/usr/local/src/disconf/disconf-web
exportONLINE_CONFIG_PATH=/data/work/disconf-web/resources
exportWAR_ROOT_PATH=/data/work/disconf-web/war
chmod-R a+x deploy/
sh deploy/deploy.sh
以上代码主要分为配置两个环境变量ONLINE_CONFIG_PATH(部署目录配置文件目录)和WAR_ROOT_PATH(war包目录)、执行部署脚本deploy/deploy.sh
(6)进入mysql客户端,导入sql语句
注:sql语句在disconf源码目录的sql目录中,请按照以下顺序执行sql
/usr/local/mysql/bin/mysql-ushixinke-p
source/usr/local/src/disconf/disconf-web/sql/0-init_table.sql
source/usr/local/src/disconf/disconf-web/sql/1-init_data.sql
source/usr/local/src/disconf/disconf-web/sql/201512/20151225.sql
source/usr/local/src/disconf/disconf-web/sql/20160701/20160701.sql
里面默认有6个用户(请注意线上环境删除这些用户以避免潜在的安全问题)
name
pwd
admin
admin
testUser1
MhxzKhl9209
testUser2
MhxzKhl167
testUser3
MhxzKhl783
testUser4
MhxzKhl8758
testUser5
MhxzKhl112
(7)修改tomcat配置,部署war包,并重启tomcat
在tomcat配置文件server.xml的Host段(在Server.xml文件最后面)添加以下内容:
注:以上内容主要是指定部署war根目录(可以修改端口号,也可以使用默认的8080)
(8)修改nginx配置,在nginx.conf中添加以下Server段upstream disconf{
server127.0.0.1:8080;
}
server{
listen8081;
# server_name disconf.com;
access_log logs/disconf-web_access.log;
error_log logs/disconf-web_error.log;
location/{
root/data/work/disconf-web/war/html;
if($query_string){
expires max;
}
}
location~^/(api|export){
proxy_pass_headerServer;
proxy_set_headerHost$http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme$scheme;
proxy_pass http://disconf;
}
}
重启nginx,根据IP访问disconf-web,如http://192.168.0.100:8081
三、disconf-web的简单使用
1、登录disconf-web端,默认用户在步骤二中已经提及
在浏览器中输入disconf-web的登录地址,如:http://192.168.0.100:8081/login.html,输入用户名和密码
2、基本概念APP:应用
配置文件:应用对应的配置文件
配置项:配置文件中最小的单位
3、新建一个项目的配置文件
这些操作项都在头部导航的“新建”菜单下:
(1)新建APP
(2)新建配置文件
(3)新建配置项
如没有以上菜单项,请联系管理员是否有相应的权限
环境名称可以通过修改数据库来更改
如默认环境如下:
修改如下:
usedisconf;
update envsetname="development"whereenv_id=1;
update envsetname="test"whereenv_id=2;
update envsetname="gray"whereenv_id=3;