编译
下载源码
cd /usr/local/src/
git clone https://github.com/knightliao/disconf.git
编译(需要 maven)
cd disconf/disconf-web
export ONLINE_CONFIG_PATH=/usr/local/src/disconf/disconf-web/profile/rd
export WAR_ROOT_PATH=/usr/local/src/disconf/war
sh deploy/deploy.sh
编译完成后,编译结果及 war 包位于 WAR_ROOT_PATH,但是其中不包含静态文件(html,js,css 等),静态资源位于/usr/local/src/disconf/disconf-web/html/。
基础组件安装
Mysql
安装 mysql
yum install mariadb mariadb-server
数据初始化
# mysql
MariaDB [(none)]> source /usr/local/src/disconf/disconf-web/sql/0-init_table.sql
MariaDB [(none)]> source /usr/local/src/disconf/disconf-web/sql/1-init_data.sql
MariaDB [(none)]> source /usr/local/src/disconf/disconf-web/sql/201512/20151225.sql
MariaDB [(none)]> source /usr/local/src/disconf/disconf-web/sql/20160701/20160701.sql
redis,nginx, zookeeper
略
代码部署
大规模场景(nginx + tomcat)
nginx 配置中添加如下内容:
upstream disconf {
server 127.0.0.1:8015;
}
server {
listen 8090;
server_name disconf.com;
location / {
root /usr/local/src/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;
}
access_log /var/log/disconf_access.log;
error_log /var/log/disconf_error.log;
}
修改 tomcat 的 server.xml ,在Host 中添加:
<Context path="" docBase="/usr/local/src/disconf/war"></Context>
小规模场景(只使用 Tomcat)
对于规模较小的集群,性能要求不高的场景,可以不使用 nginx,直接使用 tomcat 作为 web server。
cp -r /usr/local/src/disconf/disconf-web/html/* /usr/local/src/disconf/disconf-web/war/
cp -r /usr/local/src/disconf/disconf-web/war/* /usr/lcoal/tomcat7/webapps/ROOT/
Tomcat 路径可以自定义。
如果不想将代码放在 tomcat 目录下,有可以在 server.xml 中通过 context 指定 docBase,例如:
<Context path="" docBase="/usr/local/src/disconf/war"></Context>
修改 /usr/local/tomcat7_disconf/webapps/ROOT/WEB-INF/web.xml,添加如下内容:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
<url-pattern>/assets/*</url-pattern>
<url-pattern>/dep/*</url-pattern>
</servlet-mapping>
配置
配置文件位于 webapps/ROOT/WEB-INF/classes/
- application-demo.properties
- log4j.properties
- redis-config.properties,配置 redis,即使环境中只有一个 redis 实例,也要配置两个
- jdbc-mysql.properties,配置 mysql
- logback.xml
- zoo.properties, 配置 zookeeper
验证
启动所有服务(mysql,redis,zookeeper,tomcat,nginx)后,在浏览器中访问 http://IP:8090/ 即可。默认账号密码:admin/admin