web项目集成disconf过程

文档地址:http://disconf.readthedocs.io/zh_CN/latest/ github地址:https://github.com/knightliao/disconf

安装过程
一.安装依赖软件
安装Mysql(Ver 14.12 Distrib 5.0.45, for unknown-linux-gnu (x86_64) using EditLine wrapper)
安装Tomcat(apache-tomcat-7.0.50)
安装Nginx(nginx/1.5.3)
安装 zookeeeper (zookeeper-3.3.0)
安装 Redis (2.4.5)
准备配置
将你的配置文件放到此地址目录下(以下地址可自行设定):
/home/work/dsp/disconf-rd/online-resources
如果不确定如何配置,可以拷贝/disconf-web/profile/rd/目录下的文件,拷贝过去后修改成本地的环境配置即可。
配置文件包括:
- jdbc-mysql.properties (数据库配置)
- redis-config.properties (Redis配置,主要用于web登录使用)
- zoo.properties (Zookeeper配置)
- application.properties (应用配置)
注意,记得执行将application-demo.properties复制成application.properties:
cp application-demo.properties application.properties
*注意,即使只有一个redis,也应该配置两个redis client,否则将造成内部错误。*
设置War包将要被部署的地址(以下地址可自行设定):
/home/work/dsp/disconf-rd/war
构建
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
这样会在 /home/work/dsp/disconf-rd/war 生成以下结果:
-disconf-web.war
-html
-META-INF
-WEB-INF

初始化数据库:
可以参考 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
如果想自己设置初始化的用户名信息,可以参考代码来自己生成用户:
src/main/java/com/baidu/disconf/web/tools/UserCreateTools.java
部署War
修改server.xml文件,在Host结点下设定Context:
<Context path="" docBase="/home/work/dsp/disconf-rd/war"></Context>
并设置端口为 8015
启动Tomcat,即可。
部署 前端
修改 nginx.conf
upstream disconf {
    server 127.0.0.1:8015;
}

server {

    listen   8081;
    server_name disconf.com;
    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;
        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为例:
1.pom文件加入,
				<dependency>
			<groupId>com.baidu.disconf</groupId>
			<artifactId>disconf-client</artifactId>
			<version>2.6.35</version>
		</dependency>

2.tao.xml中加入:
<!-- 使用disconf必须添加以下配置 -->
	<bean id="disconfMgrBean" class="com.baidu.disconf.client.DisconfMgrBean"
	      destroy-method="destroy">
	    <property name="scanPackage" value="com.example.disconf.demo"/>
	</bean>
	<bean id="disconfMgrBean2" class="com.baidu.disconf.client.DisconfMgrBeanSecond"
	      init-method="init" destroy-method="destroy">
	</bean>
	
	
	<!-- 使用托管方式的disconf配置(无代码侵入, 配置更改会自动reload)-->
	    <bean id="configproperties_disconf"
	          class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
	      
	        <property name="locations">
	            <list>
	               <!-- 此处文件是web端上传存在的配置文件1. -->
	                <value>classpath:/venus.properties</value>
	                <value>classpath:/rabbit.properties</value>
	                <value>classpath:/sentinelRedis.properties</value>
	                <value>classpath:/springsession.properties</value>
	                 <value>VenusClient.xml</value>
	            </list>
	        </property>
	    </bean>
	
	
	    <bean id="propertyConfigurer"
	          class="com.baidu.disconf.client.addons.properties.ReloadingPropertyPlaceholderConfigurer">
	       <property name="order" value="1"/>
	        <property name="ignoreResourceNotFound" value="true"/>
	        <property name="ignoreUnresolvablePlaceholders" value="true"/>
	        <property name="propertiesArray">
	            <list>
	                <ref bean="configproperties_disconf"/>
	            </list>
	        </property>
	    </bean>
3.新建disconf.properties文件:文件内容
#是否使用远程配置文件,true(默认)从远程获取配置信息,false从本地获取配置文件  
#为true时默认读取远程配置文件
disconf.enable.remote.conf=true
#disconf配置服务器的HOST,用逗号分隔127.0.0.1:8000,127.0.0.1:8000  
disconf.conf_server_host=127.0.0.1:8014,127.0.0.1:8015
#  项目版本号格式必须写成这样
disconf.version=1_0_0_0
# 产品线_服务名
disconf.app=TGB_WWW
# \u73AF\u5883读取的环境
disconf.env=rd
#忽略的文件,用逗号分隔  
disconf.ignore=
#获取远程配置 重试次数,默认是3次  
disconf.conf_server_url_retry_times=1
#获取远程配置 重试时休眠时间,默认是5秒  
disconf.conf_server_url_retry_sleep_seconds=1
/#下载配置文件的路径,默认也会下载到classpath目录下面一份
disconf.user_define_download_dir=./disconf/download

4,修改tao-venus-client.xml文件
将bean的class :com.meidusa.venus.spring.VenusPropertyPlaceholderConfigurer换成spring的
 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
		<!— 此处可以读取classpath下的文件也可以读取下载到本地目录中的文件. -->
            	 <value>/WEB-INF/classes/rabbit.properties</value>
            	 <value>/WEB-INF/classes/venus.properties</value>  
            	<value>/WEB-INF/classes/sentinelRedis.properties</value> 
            	<value>/WEB-INF/classes/springsession.properties</value> 
            	<!-- <value>file:/Users/du/Downloads/rabbit.properties</value> 
            	<value>file:/Users/du/Downloads/sentinelRedis.properties</value> 
            	<value>file:/Users/du/Downloads/springsession.properties</value>  -->
            </list>
        </property>
    </bean> 

调试:
登录disconf平台上传配置文件,启动www,发现www读取的是下载的配置文件并启动成功 ,则disconf集成部署成功。
ps:如果是服务端 需要新建resources目录 和disconf.properties文件,原理同上

转载于:https://my.oschina.net/dyl226/blog/904073

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值