disconf系列【1】——百度disconf在ubuntu14.04环境下的安装
disconf官网给出的安装文档默认读者已经非常熟练本文1.2章节给出的依赖软件的原理及使用方法,且官网默认安装环境为linux(windows安装方法只字未提)。同时,官网对很多重要的细节语焉不详,因此才有下面这篇文档的产生。
有益的参考网址:http://blog.csdn.net/zhu_tianwei/article/details/49512751
1 环境及依赖软件说明
1.1 系统环境
Ubuntu14.04 LST
1.2 所依赖的软件
- Java:本机jdk版本为1.8.0_101
- Maven:本机maven版本为3.3.9
- Mysql: 本机mysql版本为5.6.16-1
- Reids:本机Redis版本为3.2.6
- Zookeeeper:本机Zookeeper版本为3.4.9
- Tomcat:本机tomcat版本为7.0.73
- Nginx:本机Nginx版本为1.10.2
1.3 disconf
下载地址:https://github.com/knightliao/disconf/archive/master.zip
2 安装步骤
说明:在进行以下安装步骤之前,默认所依赖的软件都已经正确安装完成。
2.1 下载文件,解压
cd ~
wget https://github.com/knightliao/disconf/archive/master.zip #使用git clone下载太不给力,因此采用wget下载
unzip master.zip
解压完成之后,会在用户目录下生成一个名为disconf-master的目录。

2.2 建立disconf目录
cd ~
mkdir disconf
cd disconf
mkdir online-resources
mkdir war
完成以上步骤后,将建立一个disconf目录,目录结构如下:
disconf
|---- online-resources
|---- war
2.3 将mvn编译需要用到的资源放入~/disconf/online-resources目录下。
cp /home/***/disconf-master/disconf-web/profile/rd/ /home/***/disconf/online-resources
cd ~
cd disconf/online-resources
cp application-demo.properties application.properties

接下来是对这些配置文件的修改:
jdbc-mysql.properties:需要修改mysql用户名和密码(和2.5章节相对应)
其余文件均不需修改。
2.4 编译disconf-master源文件,生成war包
注:在进行编译之前,可能还要修改pom.xml文件(总的pom.xml文件,而不是web里面的pom.xml,见下图),详细见 disconf系列【2】——解决zk部署情况为空的问题

编译的具体操作如下:
cd ~
cd disconf-master
mvn clean install #如果这步出现了错误,直接忽略,只要最终能生成war即可 #设置变量
ONLINE_CONFIG_PATH=/home/***/disconf/online-resources
WAR_ROOT_PATH=/home/***/disconf/war
export ONLINE_CONFIG_PATH
export WAR_ROOT_PATH #执行编译脚本,其实脚本执行的是mvn命令,并且会到${ONLINE_CONFIG_PATH}指定的位置读取编译所需要的资源配置文件
cd disconf-web
sh deploy/deploy.sh
以上步骤结束后,会在${WAR_ROOT_PATH}指定的位置生成如下文件:

2.5 初始化mysql
进入disonf-master/disconf-web/sql目录下,按照readme.md文件中的说明依次执行四个sql脚本。命令为source ...
执行完毕后,应该会生成如下7张表:

2.6 配置tomcat和nginx
① 进入tomcat的配置文件,找到server.xml,在<host>标签下添加如下内容:
<Context path="" docBase="/home/***/disconf/war"></Context>
② 进入nginx的安装目录,找到配置文件nginx.conf,在http{}中的内容修改如下:
upstream disconf {
server 127.0.0.1:8080;
}
server {
listen 8888;
server_name disconf.com;
access_log /home/***/var/logs/disconf/access.log;
error_log /home/***/var/logs/disconf/error.log;
location / {
root /home/***/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;
}
}
配置完成后,依次启动tomcat和nginx。
此时启动tomcat后,访问http://127.0.0.1:8080报404错误是正常的。
2.7 验证
在浏览器中访问http://127.0.0.1:8888,能够看到如下界面:

使用admin / admin 登录,APP选择为“disconf_demo”,同时选择“rd环境”,会看到如下界面:

上述界面出现说明disconf-web安装成功。
disconf系列【1】——百度disconf在ubuntu14.04环境下的安装的更多相关文章
- Ubuntu14.04环境下配置TFTP服务器
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- Ubuntu18.04环境下melodic安装gmapping
Ubuntu18.04 环境下melodic中很多包没有提供sudo apt install的安装方式,需要通过源代码安装,安装方法如下: 1.先安装依赖库: sudo apt--dev sudo a ...
- ubuntu14.04环境下spyder的安装
在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程
1.前言 由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputc ...
- Ubuntu14.04环境下Samba报错排错过程
排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...
- Suricata在ubuntu14.04环境下安装
简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...
- Ubuntu14.04环境下java web运行环境搭建
1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...
- Linux从入门到适应(四):Ubuntu 16.04环境下,安装Nvidia驱动,cuda9.2和 cudnn
在安装深度学习框架之前,cuda和cudnn是必须要提前安装的,现在按照流程而nvidia驱动的版本和cuda版本有这一些对应关系,所以需要按照版本进行安装,现在说一下如何安装: 1 安装nvidia ...
随机推荐
- RegOpenKeyEx和RegSetValueEx返回ERROR_SUCCESS,但注册表未发生变化。
win7 x64,需要open的时候加上KEY_WOW64_64KEY. lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microso ...
- Github使用指南-从新手到专家
转载自:http://www.cnblogs.com/xirongliu/p/4589834.html 个人从刚刚开始接触github,啥都不知道,不会用,不知道能够用来干什么,到现在坚持在githu ...
- 微信开发-ACCESS TOKEN 过期失效解决方案
微信开发-ACCESS TOKEN 过期失效解决方案 起因:因为access_token的重要性,开发过微信的都知道,但是他有自己的生命周期,官方解释为:"有效期为7200秒",一 ...
- Hadoop总结篇之五---模块间是怎么驱动执行的
在MRv1中,各个模块间驱动运行的方式是函数调用的方式.这是同步的过程,上一模块调用下一模块函数后,等待其执行.效率不高. 在MRv2中做了改进,yarn基于事件驱动的并发模型.在详细介绍前,先看下图 ...
- Android学习笔记(十三)
Android中的广播机制 Android提供了一套完整的API,允许应用程序自由地发送和接受广播. 发送广播的方法借助于Intent,接受广播的方法需要广播接收器(BroadcastsReceive ...
- OAF_开发系列29_实现OAF中批次处理迭代器RowSet/RowSetIterator(案例)
20150814 Created By BaoXinjian
- SharePrecences--(json+sharePrecences)存list 或对象
利用Gson和SharePreference存储结构化数据 具体的步骤 这个假设有三个User对象生成一个ArrayList<User>: User user1 = new User(&q ...
- JVM类加载过程
先不说JVM类加载的原理,先看实例: NormalTest类,包含了一个静态代码块,执行的任务就是打印一句话. /** * 在正常类加载条件下,看静态代码块是否会执行 * @author jianyi ...
- emacs配置eslint 语法检查.找不到node解决
使用emacs配置eslint 当调用语法检查时报错 Suspicious state from syntax checker javascript-eslint: Checker javascrip ...
- ArcGIS Engine渲染
符号化之Renderer( 渲染)体系 ArcGIS Engine9.3对GIS数据的符号化分为矢量数据渲染和栅格数据渲染两大类.接下来分别介绍FeatureRender和RasterRender. ...