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. Python爬虫入门

    Python爬虫简介(来源于维基百科): 网络爬虫始于一张被称作种子的统一资源地址(URLs)列表.当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即 ...

  2. CSharp 相关知识点小结

    1.JS获取iframe下面的内容document.getElementById('IFRAME1').contentDocument; 2.dialog 弹出层,定位:postion:'bottom ...

  3. mysql内存使用以及优化中需要的几点注意

    1.从内存中读取数据是微秒级别的.而从磁盘读则是毫秒级别的.二者相差一个数量级.所以想优化数据库,第一个要做到的就是优化io. 2.key_buffer_size[global]设置的内存区域大小缓存 ...

  4. Spring JDBC实现查询

    1 db.properties jdbc.user=root jdbc.password=920614 jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbc ...

  5. SparkStreaming(源码阅读十二)

    要完整去学习spark源码是一件非常不容易的事情,但是咱可以积少成多嘛~那么,Spark Streaming是怎么搞的呢? 本质上,SparkStreaming接收实时输入数据流并将它们按批次划分,然 ...

  6. SQL优化注意事项

    sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化. 为了获得稳定的执行性能,SQL语句越简单越好.对复杂的 ...

  7. Python基础篇【第8篇】: Socket编程(二)SocketServer

    SocketServer 在上一篇文章中我们学习了利用socket模块创建socket通信服务,但细心学习后就会发现利用socket模块创建的服务无法进行多进程的处理,当需要进行大量请求处理时,请求就 ...

  8. Repeater控件使用中的一些小问题

    网页上用来展示列表的数据,发现还是Repeater比GridView,DetailView之类的要灵活些,所以近期用到了就总结下遇到的一些情况,保留下来以备之后查阅,不用现问度娘了... 自己摸索的, ...

  9. IE10中session失效取不到值的问题

    在eworkflow工作流,ebiao报表,eform自定义表单产品升级到IE10的时候,系统登录后,总是会取不到session中的值. for j2ee版本和for dotnet版本都一样取不到值. ...

  10. Geodatabase数据模型

    1  Geodatabase概念 Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统一的.智能的空间数据模型.“统一”是指,Geodatabase ...