1.环境配置
配置java、maven环境,并安装mysql,reids,zookeeeper,Nginx
2.下载disconf
下载https://codeload.github.com/knightliao/disconf/zip/master
解压:unzip disconf-master.zip
3.编译打包
创建目录
- mkdir /home/disconf/online-resources
- mkdir /home/disconf/war
- cd disconf-master
- mvn clean install
- ONLINE_CONFIG_PATH=/home/disconf/online-resources
- WAR_ROOT_PATH=/home/disconf/war
- export ONLINE_CONFIG_PATH
- export WAR_ROOT_PATH
- cd disconf-web
- sh deploy/deploy.sh
完成在/home/disconf/war目录下产生文件
- -disconf-web.war
- -html
- -jpaas_control
- -META-INF
- -Release
- -tmp
- -WEB-INF
4.修改配置
1)将配置文件放到此地址目录下:/home/disconf/online-resources
配置文件包括:
- jdbc-MySQL.properties (数据库配置)
- Redis-config.properties (Redis配置)
- zoo.properties (Zookeeper配置)
- application.properties (应用配置)
注意,记得执行将application-demo.properties复制成application.properties:
cp application-demo.properties application.properties
2)修改disconf配置
cd /home/disconf/war/WEB-INF/classes/
application.properties
jdbc-mysql.properties
redis-config.properties
zoo.properties
修改文件中的地址端口,调整日志目录
#log4j.properties
${catalina.home}/logs/disconf-log4j.log
#logback.xml
<property name="log.base" value="${catalina.home}/logs/disconf-web"/>
<property name="log.monitor" value="${catalina.home}/logs/monitor"/>
5.初始化数据库
按照disconf-master/disconf-web/sql/readme.txt说明按照顺序导入数据
6.配置tomcat
安装tomcat配置server.xml配置war目录
<Context path="" docBase="/home/disconf/disconf/war"></Context>
7.配置nginx
安装nginx,并配置,安装参考:http://blog.csdn.net/zhu_tianwei/article/details/17752581
配置:vi /home/disconf/nginx/conf/nginx.conf
- upstream disconf {
- server 127.0.0.1:8080;
- }
- server {
- listen 8000;
- server_name localhost;
- access_log logs/disconf_access.log;
- error_log logs/disconf_error.log;
- location / {
- root /home/disconf/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://192.168.1.90:8000/即可访问 默认用户:admin/admin
关于使用参考官方文档:
总体概述
基于注解式的分布式配置(支持配置文件和配置项)
推荐新建的项目使用disconf时使用
- Tutorial 1 注解式分布式的配置文件
- Tutorial 2 注解式分布式的配置文件高级篇: 配置更新的通知
- Tutorial 3 注解式分布式的配置项
- Tutorial 4 注解式分布式静态配置文件和静态配置项
注:将配置文件移至一个专有类里,而不是分散在项目的各个地方,整个代码架构清晰易懂、易管理。 即便如果哪天不使用disconf,也只需要将注解去掉即可。
基于XML的分布式配置(无代码侵入)(仅支持配置文件)
推荐旧项目使用disconf时使用
其它
- Tutorial 6 disconf-web 功能详解
- Tutorial 7 可自定义的部分托管的分布式配置
- Tutorial disconf与dubbo的集成 demo
- Tutorial 9 实现真正意义上的统一上线包
- Tutorial 10 实现一个配置更新下载器agent
- 配置说明
- 异常考虑
- 局限性和注意事项
- 注意事项
- Zookeeper异常考虑