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环境下的安装的更多相关文章

  1. Ubuntu14.04环境下配置TFTP服务器

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  2. Ubuntu18.04环境下melodic安装gmapping

    Ubuntu18.04 环境下melodic中很多包没有提供sudo apt install的安装方式,需要通过源代码安装,安装方法如下: 1.先安装依赖库: sudo apt--dev sudo a ...

  3. ubuntu14.04环境下spyder的安装

    在ubuntu14.04系统中,默认在/usr/lib目录下安装了python2.7.6和python3.4.3,在该环境下安装spyder,然后使其链接到python3.4.3. 首先安装为pyth ...

  4. ubuntu14.04环境下利用docker搭建solrCloud集群

    在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...

  5. Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程

    1.前言 由于Qt5.4之后对之前的Qt5版本不再二进制兼容,所以网上很多简单的旧的办法已经失效了,所以本教程的办法是重新编译fcitx-qt5,生成最新的libfcitxplatforminputc ...

  6. Ubuntu14.04环境下Samba报错排错过程

    排错的方法和思路非常重要,日志非常非常非常非常重要!!! 搭建好Samba之后,windos访问一直下面这个错误,然后傻逼一样一直百度百度,一弄又是几天,但是经过自己一步一步的排错,弄成功之后,那心情 ...

  7. Suricata在ubuntu14.04环境下安装

    简介 Suricata是一款高性能的网络IDS.IPS和网络安全监控引擎.它是由the Open Information Security Foundation开发,是一款开源的系统,现在的NIDS领 ...

  8. Ubuntu14.04环境下java web运行环境搭建

    1.jdk安装 将下载好的安装包上传至/home目录解压 tar -zxvf jdk-8u71-linux-x64.tar.gz 执行 vim /etc/profile 在末尾添加java环境变量(J ...

  9. Linux从入门到适应(四):Ubuntu 16.04环境下,安装Nvidia驱动,cuda9.2和 cudnn

    在安装深度学习框架之前,cuda和cudnn是必须要提前安装的,现在按照流程而nvidia驱动的版本和cuda版本有这一些对应关系,所以需要按照版本进行安装,现在说一下如何安装: 1 安装nvidia ...

随机推荐

  1. ios 利用airprint实现无线打印(配合普通打印机)

    很多时候,我们不可能为了一个打印功能而去替换打印机,来支持无线打印. 找了很久,终于找到了一种解决方案,来适应大多数没有带wifi功能的打印机支持无线打印. 前提: 有wifi路由器:因为手机要打印, ...

  2. AXIS最佳实践

    前言: Axis是apache一个开源的webservice服务,需要web容器进行发布.本节主要用于介绍使用Axis开发webservice,包括服务端的创建.webservice的部署.客户端的调 ...

  3. WPF ListBox

    记录一些ListBox的用法 设置ListBox选中项的背景颜色 如何为标准的ListBox添加ItemClick事件 连续选择同一项时SelectionChanged 事件不响应的问题 1.设置Li ...

  4. SQL:实现流水账的收入、支出、本期余额

    有多组数据,分别是收入,支出,余额,它们的关系是:本期余额=上次余额+收入-支出 /* 测试数据: Create Table tbl([日期] smalldatetime,[收入] int ,[支出] ...

  5. MyBatis入门学习教程-解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TAB ...

  6. 工程中建立多个src目录

    android 工程下可以有多个源代码的目录,不一定都要放到src下面.可以在 .classpath 文件中添加. 默认是这样的: <classpath> <classpathent ...

  7. OAF_文件系列9_实现OAF解析Excel并读取至数据库JXL

    ddd puroder. webui. poLineExcelImport.java

  8. vue.js组件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. STM8 EEPROM:

    stm8的EEPROM的搽除是写0,FLASH_PRO与FLASH_DATA写的秘钥顺序相反 EEPROM读写前要解锁的.这个很简单,在技术文档里讲得很清楚.我用一个宏定义来代表EEPROM单元.#d ...

  10. Linux下lampp详解 (转)

    重要文件解释: ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发.发布的免费软件,可以随意修 ...