disconf - 【1】 server 搭建

disconf是分布式配置管理服务平台,目前已经在 百度、滴滴出行、银联、网易、拉勾网、苏宁易购等公司使用,专注于解决分布式环境下的配置管理。

部署web server:


要使用disconf,首先需要搭建disconf服务端先,不过先把项目clone下来:

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

准备配置文件

mkdir /home/work/dsp/disconf-rd/online-resources
mkdir /home/work/dsp/disconf-rd/war
cd  $DISCONF_HOME/disconf-web/
cp profile/rd/application-demo.properties /home/work/dsp/disconf-rd/online-resources/application.properties
cp profile/rd/jdbc-mysql.properties /home/work/dsp/disconf-rd/online-resources/
cp profile/rd/redis-config.properties /home/work/dsp/disconf-rd/online-resources/
cp profile/rd/zoo.properties /home/work/dsp/disconf-rd/online-resources/

build & deploy

ONLINE_CONFIG_PATH=/home/work/dsp/disconf-rd/online-resources
WAR_ROOT_PATH=/home/work/dsp/disconf-rd/war
export ONLINE_CONFIG_PATH
export WAR_ROOT_PATH
cd disconf-web
sh deploy/deploy.sh

准备mysql

修改mysql用户和密码:

vim /home/work/dsp/disconf-rd/online-resources/jdbc-mysql.properties

初始化数据库:

mysql> source 0-init_table.sql
mysql> source 1-init_data.sql
mysql> source 201512/20151225.sql

准备Redis

默认配置,启动就行了。参考官方文档:http://redis.io/download

准备zookeeper

默认的disconf的zookeeper客户端配置是三个实例的,如果只是为了体验disconf,可以改成standalone的配置。
修改zookeeper服务器的clientPort,使和disconf的zkClient配置一致:

vim $ZK_HOME/conf/zoo.cfg

##############
clientPort=8581
##############

其他同理(127.0.0.1:8582,127.0.0.1:8583...)。

准备tomcat

vim $TOMCAT_HOME/conf/server.xml
在Host结点下增加:

<Context path="" docBase="/home/work/dsp/disconf-rd/war"></Context>

访问端口设为8015

准备nginx

vim /path/nginx.conf

upstream disconf {
server 127.0.0.1:8015;
}

server {

listen 8081;
server_name localhost;
access_log /home/work/var/logs/disconf/access.log;
error_log /home/work/var/logs/disconf/error.log;

location / {
root /home/work/dsp/disconf-rd/war/html;
# niko , use alias if root not working
# alias /home/work/dsp/disconf-rd/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;
}
}

记得要

mkdir /home/work/var/logs/disconf/ -p

如果没有该目录,无法访问页面。

登录

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

参考


【1】https://github.com/knightliao/disconf